编写了一个显示目录的代码,我将如何制作它以便java说明这个结果是文件还是另一个目录/文件夹?

时间:2017-01-02 23:39:52

标签: java file methods

所以这个程序目前列出了目录中的所有文件夹和文件。我想知道是否可以添加另一段代码来说明输出是文件还是目录。例如,如果它输出“Test.txt”,那么它将显示类似“Test.txt = a file”的内容。 感谢。

import java.io.File;

public class CS1702_Lab7ex7_5 {
public static void main(String args[])
{
    String dir_name = "c:\\temp\\"; //Or another directory
    File dir = new File(dir_name);

    File[] dir_list = dir.listFiles();
    for(int i=0;i<dir_list.length;++i)
    {
        System.out.println(dir_list[i].getName());
    }

}

}

3 个答案:

答案 0 :(得分:0)

您可以对返回的条目列表中的项目使用dir_list.isDirectory()

答案 1 :(得分:0)

只需查看java File API

如果文件是目录,则

isDirectory()返回。

isFile()返回,如果是文件。

你也可以使用a for each循环遍历文件:

gsub("\\W*\\b\\w\\b\\W*", " ", names)
[1] "John Smith"     "Chris Anderson" "Mary Jane"      "  Smith"        " Thomas" 

答案 2 :(得分:0)

只有两种可能性:

  1. 是目录
  2. 是档案
  3. 您可以使用评估表达式,使用以下两个句子中的一个:

    import java.io.File;
    
    public class CS1702_Lab7ex7_5 {
        public static void main(String args[]) {
            String dir_name = "c:\\tomcat\\apache-tomcat-7.0.72"; // Or another
                                                                // directory
         File dir = new File(dir_name);
    
        File[] dir_list = dir.listFiles();
        for (int i = 0; i < dir_list.length; ++i) {
            /*
             * dir_list[i].isDirectory(): True, print directory. False, print
             * "File"
             */
            System.out.println(dir_list[i].getName() + (dir_list[i].isDirectory() ? " Directory" : " File"));
        }
    
    }
    

    }