在Java中,如果找不到输入文件,如何停止尾部线程

|| 我正在使用Java
tail-listener
api来监视来自给定输入日志文件的日志消息。以下是我的代码。
public static void main(String[] args) {
if (listOfFiles[i].isFile()) 
{
 files = listOfFiles[i].getName();
 File pcounter_log = new File(files);                                
 Tailer logMessages = new Tailer(pcounter_log, new FileListener(files,element.getLogPattern()),
                                        5000, true);
 Thread thread = new Thread(logMessages);  
     thread.start();

}

public class FileListener extends TailerListenerAdapter {

 private final String fileName;

 public FileListener(String fileName, ArrayList<String> pattern) {
    this.fileName = fileName;
 }
  public void handle(String line) {

    System.out.println(fileName+\"<---->\"+line); 
    }
}
在上面的代码中,如果在执行过程中未找到任何文件,则如何停止相应的文件尾。 这该怎么做。     
已邀请:
        使用
File.exists()
 if(pcounter_log.exists()) {
        Tailer logMessages = new Tailer(pcounter_log, new FileListener(files,element.getLogPattern()),
                                        5000, true);
        Thread thread = new Thread(logMessages);  
        thread.start();
 }
    
           ...如果在执行过程中未找到任何文件,如何停止相应的页眉。 根本的问题是,当您尝试打开文件时,该文件已“找到”。打开后,Java应用程序无需再次找到它: 在Windows上,操作系统级文件锁定意味着在您的应用程序关闭文件之前,通常无法删除该文件(例如,由另一个应用程序删除)。 在UNIX / Linux上,可以在打开文件时将其删除(实际上是“未链接”),但这不会影响当前打开该文件的应用程序。该应用程序可以继续读取和写入未链接的文件...即使没有其他应用程序可以打开它。 使用Java 6,判断您当前正在读取/写入的文件是否已被“删除”的唯一方法是尝试再次打开它。如果您反复进行,那将很昂贵。在Java 7中,有一些用于处理文件系统事件的新类,这些新类将使您的应用程序“通知”文件已被删除/取消链接。     

要回复问题请先登录注册