Java更改文件工作目录

时间:2013-09-25 15:07:05

标签: java io

我正在写一些单元测试。我通过直接调用类来运行测试(而不是调用另一个程序)。问题是这些类中的一些使用由相对路径定义的数据,因此它们要求程序在特定目录中启动。如何在Java中更改此内容?

例如,我的单元测试从C:/unittest开始,我需要的数据位于C:/OtherProject。如果可能的话,我不想修改其他项目的代码,在java中是这样的:

File.setWorkingDir("C:/OtherProject");

当像

这样的时候
File file = new File("data/data.csv");

将阅读C:/OtherProject/data/data.csv而不是C:/unittest/data/data.csv

1 个答案:

答案 0 :(得分:12)

更新我的答案,因为VolkerSeibt指出它是不正确的。好抓。

这可以通过System.setProperty实现。您可以通过更改"user.dir"系统属性来更改当前工作目录:

System.setProperty("user.dir", "/foo/bar");

有关详细说明,请参阅http://www.javacodex.com/Files/Set-The-Current-Working-Directory