Java 检查给定文件夹中是否存在任何文件

Java 检查给定文件夹中是否存在任何文件,java,Java,我已经更新了代码以处理列出的场景 1.检查空目录 2.检查文件是否存在 当我尝试执行filewatch程序时,我还应该注意哪些其他事项 我希望能够创建一些能够覆盖监控文件时可能发生的所有场景的内容,以便在部署代码时,能够快速读取输出并知道发生了什么 package filemon; import java.io.File; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; imp

我已经更新了代码以处理列出的场景 1.检查空目录 2.检查文件是否存在

当我尝试执行filewatch程序时,我还应该注意哪些其他事项

我希望能够创建一些能够覆盖监控文件时可能发生的所有场景的内容,以便在部署代码时,能够快速读取输出并知道发生了什么

package filemon;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;

/**
 * @author LAI XUEYANG
 * @version $Revision: 1.0 $
 */
public class filemon {

    /**
     * Method main.
     * 
     * @param args
     *            String[]
     */
    public static void main(String[] args) {

        // Declare yesterday date with format as yyyyMMdd
        DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        // Calendar yesterdayCal = Calendar.getInstance();

        // Declare today date with format as yyyyMMdd
        Calendar todayCal = Calendar.getInstance();
        String todayDate = dateFormat.format(todayCal.getTime());

        // Declaration of folder path
        File file = new File("D:\\TEST");

        // Declaration of file path
        Path filePath = Paths.get(file + "\\INCIF" + todayDate + ".txt");

        // yesterdayCal.add(Calendar.DATE, -1);
        // String yesterdayDate = dateFormat.format(yesterdayCal.getTime());

        try {
            checkEmptyDirectory(file, filePath);
        } catch (Exception e) {
            System.out.println(e);
        }
        // checkFileExist();
    }

    /**
     * Method checkFileExist.
     * 
     * @param filePath
     *            Path
     */
    private static void checkFileExist(Path filePath) {
        if (Files.exists(filePath)) {
            System.out.println("Filename: " + filePath.toString());
            System.out.println("Exist in location!");
        } else {
            System.out.println("Filename: " + filePath.toString());
            System.out.println("Does not exist in location!");
        }
    }

    /**
     * Method checkEmptyDirectory.
     * 
     * @param file
     *            File
     * @param filePath
     *            Path
     */
    private static void checkEmptyDirectory(File file, Path filePath) {
        if (file.isDirectory()) {
            if (file.list().length > 0) {
                checkFileExist(filePath);
            } else {
                System.out
                        .println("Directory specified does not contain any files!");
            }
        } else {
            System.out.println("Directory specified does not exist!");
        }
    }
}

使用java.io.File

File f = new File(filePathString);
if(f.exists()) { /* do something */ }
在代码中:

File f = new File(filePath);
if(f.exists()) { 
    if(f.isDirectory()){ System.out.println("it's a folder"); }
    System.out.println("File location: " +filePath.toString());
    System.out.println("File exist in location!");
    System.exit(0);

}

使用以下方法对列出的文件进行计数:

返回一个字符串数组,该字符串命名中的文件和目录 由此抽象路径名表示的目录。如果这个抽象路径名 不表示目录,则此方法返回null。否则 返回一个字符串数组,其中每个文件或目录对应一个字符串 目录表示目录本身和目录名称的名称 结果中不包括父目录。每个字符串都是一个文件 名称而不是完整的路径


为了找到文件夹中的任何文件,请尝试这样做

File f= new File(filePathString);
File[] listOfFiles = f.listFiles(); 

if(listOfFiles.length > 0){
//
}else{
//
}
这应该可以

这里

你错过了一个文件夹分隔符。可能是:

"C:\\TEST\\" +todayDate +".txt"

导入java.io.*
File File=新文件(路径)

如果(file.exists()){………}

我想这可能会帮助您检查文件夹中是否存在文件

    File folder = new File("/home/rahul/Documents/r/212/");
    f.listFilesForFolder(folder);

    }
public void listFilesForFolder(final File folder) {
    for (final File fileEntry : folder.listFiles()) {
        if (fileEntry.isDirectory()) {
            listFilesForFolder(fileEntry);
        } else {

            l.add(fileEntry.getName());
        }
    }

如果文件夹中存在文件,我的代码将从目录中获取所有可用文件的名称。

感谢您提供的解决方案,我已使用它检查文件夹中是否存在任何文件!我不喜欢这个。我正在浏览整个文件夹,只是想知道其中是否有一个文件。这只会检查特定的文件名是否存在,系统会做一些事情,它不会处理空目录的情况。@supers33r使用isDirectory()检查它是否是文件夹,我编辑了我的回答是的,这与karthick提供的答案相同!
"C:\\TEST" +todayDate +".txt"
"C:\\TEST\\" +todayDate +".txt"
    File folder = new File("/home/rahul/Documents/r/212/");
    f.listFilesForFolder(folder);

    }
public void listFilesForFolder(final File folder) {
    for (final File fileEntry : folder.listFiles()) {
        if (fileEntry.isDirectory()) {
            listFilesForFolder(fileEntry);
        } else {

            l.add(fileEntry.getName());
        }
    }