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 执行,就可以和开发时得到一样的结果。
?
今天准备检查一下,相对路径到底应该怎么写。
测试代码:
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 执行,就可以和开发时得到一样的结果。
?
- 上一篇: java内部类的总结
- 下一篇: "JAVA编程思想" 课程进展 一
-= 资 源 教 程 =-
文 章 搜 索