日期:2014-05-20  浏览次数:20630 次

File类构造函数地址问题
//需求描述,使用File类列出制定位置下的文件及目录信息。

/* 1.提供路径参数构造File对象;
2.调用File类的listFile()方法,得到指定路径下的文件数组。
3.遍历文件数组,列出文件数组中的文件信息和目录信息。
*/
import java.io.*;

public class TestFilesNum {
public static void main(String[]args){
File f=new File("d:");
//返回一个指定路径名的文件数组;
File[]fileList=f.listFiles();
for(int i=0;i<fileList.length;i++){
if(fileList[i].isDirectory()){
//如果是目录,则输出目录信息;
System.out.println("["+fileList[i].getName()+"]");
}
else
{
//输出文件的名字;
System.out.println(fileList[i].getName());
}
}
}
}

如果myEclipse中的路径也在D:下,,那么显示的信息不对,但是如果位置不是myeclipse安装的盘符(比如C:或E:),则显示的信息是对的。
---myEclipse位置是:D:\MyEclipse 8.6;
------解决方案--------------------
File f=new File("D:\\");

------解决方案--------------------
引用:
确实如2楼所言,加:\\或/都可以正确输出,为什么会出现这种情况呢?


你在文件管理器中输一下就知道了。 windows都支持的  linux只支持 /   
至于为什么要加 \\  那是转义符。