我希望能够使用Java代码打开目录,目录意味着"文件夹"包含一个文件夹,该文件夹又包含文件。这是我现在拥有的代码的一部分:
public void listFiles(String folder) {
File directory = new File(folder);
File[] contents = directory.listFiles();
System.out.println(contents);
出于某种原因,如果我将文件夹指向目录级别,它将返回以下行:
[Ljava.io.File;@67d07b41
但是,如果我将其指向一级(在文件夹级别,直接包含文件),那么它将在文件夹中列出文件名就好了。有人可以指点我为什么不适合我吗?
答案 0 :(得分:4)
将您的代码更改为:
public void listFiles(String folder){
File directory = new File(folder);
File[] contents = directory.listFiles();
for ( File f : contents) {
System.out.println(f.getAbsolutePath());
}
你会看到所有的完整路径。
你得到的是奇怪的输出,因为你正在打印一个数组对象,那就是数组对象将具有toString()
。如果您想打印数组的内容,您必须按上述方式手动执行此操作。