Geo*_*Geo 6 java filesystems chdir
我读过的几乎每篇文章都告诉我,你不能用Java创建chdir.这个问题的公认答案说你不能用Java做到这一点.
但是,这里有一些我尝试过的东西:
geo@codebox:~$ java -version java version "1.6.0_14" Java(TM) SE Runtime Environment (build 1.6.0_14-b08) Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
这是我正在使用的测试类:
import java.io.*;
public class Ch {
public static void main(String[] args) {
System.out.println(new File(".").getAbsolutePath());
System.setProperty("user.dir","/media");
System.out.println(new File(".").getAbsolutePath());
}
}
Run Code Online (Sandbox Code Playgroud)
geo@codebox:~$ pwd /home/geo geo@codebox:~$ java Ch /home/geo/. /media/.
请解释为什么这有效.从现在开始我可以使用它并期望它在所有平台上以相同的方式工作吗?
Jon*_*eet 10
仅仅因为new File(".")
给出了理想的答案并不意味着它正在做你想要的.
例如,尝试:
new FileOutputStream("foo.txt").close();
Run Code Online (Sandbox Code Playgroud)
那最终会在哪里?在我的Windows框中,即使new File(".").getAbsolutePath()
基于的移动user.dir
,foo.txt
也始终在原始工作目录中创建.这让我感到设定user.dir
,使得new File(".")
不参考当前的工作目录是自找麻烦.
归档时间: |
|
查看次数: |
15653 次 |
最近记录: |