文件是目录还是普通文件?

时间:2013-12-28 15:25:52

标签: java file

我想编写一个程序(用Java编写),它将通过文件系统并判断文件是目录还是普通文件。

你会怎么建议这样做?

3 个答案:

答案 0 :(得分:3)

File类有内置方法isFile()isDirectory()

File fp = new File("path.txt");
System.out.println(fp.isFile()?"Is a File":"Is NOT a File");
System.out.println(fp.isDirectory()?"Is a Directory":"Is NOT a Directory");

答案 1 :(得分:2)

File class可以帮到你。

.isFile().isDirectory()

示例:

String path = "path here";
new File(path).isFile();

如果isFile是文件,则返回true。太多.isDirectory如果它是一个目录。

无论如何,在File类中,只需阅读文档即可找到更多用户有用的方法。

要列出路径中的每个文件/目录,.list().listFiles()应该执行您想要的操作。

重要的是,.list返回一个字符串数组(只是文件的名称)示例:

String path = "";
File file = new File(path); // Here we create the File object to work with the directory/file 
String[] files = file.list(); // .list returns the name of every file/directory inside the path

for(String fname : files)
{
    System.out.print(fname + " ");
}

如果您需要使用.listFiles中的方法,请使用File class,就像您现在要求的那样,您可以使用.isDirectory().isFile()

String path = "";
File file = new File(path);
File[] files = file.listFiles();

for(File fname : files)
{
    if (fname.isDirectory())
    {
        System.out.println(fname.getName() + " is a directory.");
    }
    else
    {
        System.out.println(fname.getName() + " is a file.");   
    }
}

如果您需要获取路径中文件的名称并停止,请使用.list。

答案 2 :(得分:0)

我不确定你在问什么。也许方法File.isFile