我创建了一个名为test的dirctory。在这个目录中,我创建了一个名为test.txt的文件。当我执行下面的程序时,cmd上list方法的输出不显示测试目录中的文件列表。
以下是我的代码:
import java.io.*;
public class f1{
public static void main(String args[]){
try{
File f = new File("test");
System.out.println(f.exists());
System.out.println(f.isDirectory());
System.out.println(f.isFile());
System.out.println(f.list());
}
catch(Exception e){
}
}
}
以下是输出:
true
true
false
[Ljava.io.File;@15db9742
答案 0 :(得分:5)
file.list()
返回String[]
。由于数组不具有toString()
的实现(使用println
时调用),因此它使用Object
的默认实现,返回ClassName
@ { {1}}。要将数组转换为String,可以使用hashCode
类。
java.util.Arrays
答案 1 :(得分:1)
您无法直接打印数组。 File.list()
返回一个字符串数组。有一个实用程序类Arrays
,它允许您打印它而无需手动迭代它:
Arrays.toString(f.list())
答案 2 :(得分:1)
答案 3 :(得分:-2)
list返回一个字符串数组。
所以,如果你指定一个正确的文件URI,它应该工作。
import java.io.*;
public class f1
{
public static void main(String args[]){
try
{
File f = new File("test");
System.out.println(f.exists());
System.out.println(f.isDirectory());
System.out.println(f.isFile());
System.out.println(f.list());
for (int i = 0; i < f.list().length; i++)
{
System.out.println(f.list()[i]);
}
}
catch(Exception e){
}
}
}