服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java文件的相对路径


  好几次,在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 执行,就可以和开发时得到一样的结果。

?

扫描关注微信公众号