文件和目录例程



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

以下是一些有两种可能打印方式的代码:

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!!!好了,伙计们,我刚刚发现问题是它甚至显示了隐藏的目录。所以现在请帮我打印不只是隐藏的目录。

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

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

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

要只列出目录,您需要使用f.listFiles(),并在结果中检查每个目录是否为isDirectory()。

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

最新更新