首页 > 学院 > 开发设计 > 正文

java文件的相对路径

2019-11-18 14:37:17
字体:
来源:转载
供稿:网友

  好几次,在java中用相对路径打开文件,都报找不到文件的错误,改成绝对路径后正常。
今天预备检查一下,相对路径到底应该怎么写。

测试代码:
public class TestFilePath {
? public static void main(String[] args) {
??? TestFilePath testFilePath1 = new TestFilePath();
??? File file = new File("test.txt");
??? System.out.PRintln(file.getAbsolutePath());;
? }
}

到命令行下用java命令执行该class文件,在不同的路径下执行,取得的结果不一样。
如下:
执行方法1:
F:/2004/projects/jbproject/myServer/classes>java test_bak.TestFilePath
F:/2004/projects/jbproject/myServer/classes/test.txt
执行方法2:
F:/2004/projects/jbproject/myServer>java -classpath classes test_bak.TestFilePath
F:/2004/projects/jbproject/myServer/test.txt
执行方法3:
F:/2004/projects/jbproject>java -classpath myServer/classes test_bak.TestFilePath
F:/2004/projects/jbproject/test.txt

可见,相对目录的起点,不是class文件所在的路径,而是,java解释器所在的位置。

不过,jbuilder下执行时,会以Jbuilder默认的命令执行,H:/JBuilder9/jdk1.4/bin/javaw -classpath ..... test_bak.TestFilePath
执行结果是F:/2004/projects/jbproject/myServer/test.txt
所以,假如在jbuilder下开发java应用程序操作文件,相对目录的起点一般是classes/的上一层目录,也就是应用目录,写出来的程序,
执行时再以-classpath classes 执行,就可以和开发时得到一样的结果。

?

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表