我希望能够使用Java代码打开目录,目录意味着一个包含文件夹的“文件夹”,而文件夹又包含文件。这是我现在拥有的代码的一部分:
public void listFiles(String folder) {
File directory = new File(folder);
File[] contents = directory.listFiles();
System.out.println(contents);
Run Code Online (Sandbox Code Playgroud)
由于某种原因,如果我将文件夹指向目录级别,它会返回以下行:
[Ljava.io.File;@67d07b41
Run Code Online (Sandbox Code Playgroud)
但是,如果我将其指向下一层(在文件夹级别,直接包含文件),那么它会很好地列出文件夹中的文件名。有人可以告诉我为什么这对我不起作用吗?
将您的代码更改为:
public void listFiles(String folder){
File directory = new File(folder);
File[] contents = directory.listFiles();
for ( File f : contents) {
System.out.println(f.getAbsolutePath());
}
Run Code Online (Sandbox Code Playgroud)
您将看到打印的所有完整路径。
你会得到奇怪的输出,因为你正在打印一个数组对象,而这就是数组对象作为toString(). 如果你想打印数组的内容,你必须像上面那样手动执行。
| 归档时间: |
|
| 查看次数: |
27857 次 |
| 最近记录: |