我在尝试在屏幕上打印可用目录时遇到了一些问题。
这里有一些代码有两种可能的打印方式:
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 !!!好的,我刚刚发现问题在于它甚至显示了隐藏的目录。 所以现在请帮我打印不隐藏的目录。
答案 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());
}
}