java编译时 文件不存在

import java.io.File;
public class FileMethodDemo
{
static void print(String s)
{
System.out.print(s);
}
public static void main(String [] args)
{
File f=new File("C:/jdk/bin/edu.exe");
print("是否存在:");
print(f.exists() ?"存在\n" : "不存在\n");
print("文件路径:"+f.getPath()+"\n");
}
}
编译后出现
D:\edu>java FileMethodDemo
是否存在:不存在
文件路径:C:\jdk\bin\edu.exe
D:\edu>

为什么不存在?
既然不存在 为什么还能输出 C:\jdk\bin\edu.exe

你还没有建立这个文件,当然不存在了。
要建立这个文件,调用File类的mkdirs()方法就可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-22
输出的C:\jdk\bin\edu.exe是你在初始化时放入的值File f=new File("C:/jdk/bin/edu.exe");
虽然文件在硬盘中不存在,但这个File对象是已经在内存中存在的。
第2个回答  2009-11-22
File f=new File("C:/jdk/bin/edu.exe");

C:\jdk\bin\edu.exe

转义字符,你要这样写C:\\jdk\\bin\\edu.exe
第3个回答  2009-11-22
你这个f.getPath()方法拿到的不是它去检测这个文件有没有后 才返回的路径,而是你本来就建的这个文件对象的路径 所以管你有没有,它会返回你这个文件对象的路径