java文件的相对路径

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航