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 执行,就可以和开发时得到一样的结果。
?
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论