之前一直是在用 File 中的绝对路径来创建这个 File 类对象,但是在今天用 File 类中用相对路径创建时却发现了一个问题,不知道这个相对路径是相对谁面言的。我的程序是这样的:
package com.csmz.niit;
import java.io.*;
public class FileDemo{
public static void main(String[]args) throws IOException{
try {
Filefile= new File( "test.txt" );
System. out .println( "文件是否存在:" +file.exists());
} catch (Exceptione){
e.printStackTrace();
}
}
}
我试着把 test.txt 拷贝在 src 下与 FileDemo.java 放在同一个目录下结果还是显示 false 。后来我也试着把 test.txt 拷贝在 bin 生成的 .class 文件下,结果还是不行。
于是我想到了一个方法:
Filefile= new File( "a.txt" );
file.createNewFile();
我创建这样一个文本文件,看到底它创建在哪里。结果跑到源文件下,发现原来这个文件是创建了与 .classpath 同一目录下,现在终于知道这个相对路径的问题。
更详细的相对路径与绝对路径的问题解释是在
http://www.blogjava.net/zhangchao/archive/2009/04/15/265644.html