java中,打印File类的问题?
publicstaticvoidmain(String[]args)throwsException{//【递归列出】所有目录Filef3=newFile("e:"+Fil...
public static void main(String[] args) throws Exception {
//【递归列出】所有目录
File f3= new File("e:"+File.separator+"cs");
print(f3);
}
public static void print(File file3) {
if(file3.isDirectory()) {
File [] f4=file3.listFiles();
//这里是防止一些锁住的文件夹,打不开,就是列不出的目录。
if(f4!=null) {
for(int k=0;k<f4.length;k++) {
print(f4[k]);
}
}
}
System.out.println(file3);
}
我就是不太明白。最后一句:System.out.println(file3);为什么打印这个文件,能把所有的路径都打印出来。 展开
//【递归列出】所有目录
File f3= new File("e:"+File.separator+"cs");
print(f3);
}
public static void print(File file3) {
if(file3.isDirectory()) {
File [] f4=file3.listFiles();
//这里是防止一些锁住的文件夹,打不开,就是列不出的目录。
if(f4!=null) {
for(int k=0;k<f4.length;k++) {
print(f4[k]);
}
}
}
System.out.println(file3);
}
我就是不太明白。最后一句:System.out.println(file3);为什么打印这个文件,能把所有的路径都打印出来。 展开
1个回答
展开全部
System.out.println输出对象时,实际会调用的是对象的toString()方法,然后输出toString()方法返回的字符串。
而File类的toString()方法返回的就是其实例的路径,所以你看到的输出结果是路径。
System.out.println(file);
// 等价于System.out.println(file.toString());
// File类的toString()方法源码
public String toString() { return getPath();}
而File类的toString()方法返回的就是其实例的路径,所以你看到的输出结果是路径。
System.out.println(file);
// 等价于System.out.println(file.toString());
// File类的toString()方法源码
public String toString() { return getPath();}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询