档案&目录常规

时间:2014-09-29 15:11:31

标签: java file directory

我在尝试在屏幕上打印可用目录时遇到了一些问题。

这里有一些代码有两种可能的打印方式:

File f = new File(System.getProperty("user.home"));

System.out.println(java.util.Arrays.toString(f.list())); //the FIRST way

for (String fileName : f.list()) {  //the SECOND
    System.out.println(fileName);   // way
}

看起来它是一种打印目录的好方法,但它打印的目录比实际存在的要多。

因此我有两个问题:如何正确打印?如何正确打印,但是从另一个目录,而不是从" user.home"?

UPD !!!好的,我刚刚发现问题在于它甚至显示了隐藏的目录。 所以现在请帮我打印不隐藏的目录。

2 个答案:

答案 0 :(得分:2)

您可以使用.isHidden()来确定文件或目录是否被隐藏。

根据您的需要稍微修改Jamie的解决方案:

for (File f : f.listFiles())
{
  if (!f.isHidden())
  {
    System.out.println(f.getName());
  }
}

答案 1 :(得分:1)

要仅列出目录,您需要使用f.listFiles(),并在结果中检查isDirectory()中的每一个。

for (File sub : f.listFiles())
{
  if (sub.isDirectory())
  {
    System.out.println(sub.getName());
  }
}