使用main和test类读取相对路径(外部类路径)

时间:2016-01-07 15:32:02

标签: java

我有一个具有此结构的项目

data_folder/
myProject
    module1
        main/java
        test/java
        pom.xml
    module2
    ...
pom.xml

我想使用test和main类访问data_folder

在测试类中,可以使用

new File("data_folder/myfile.txt")

但在主要课程中,只能使用

new File("../data_folder/myfile.txt")

这些文件必须在类路径之外,因为它们是可编辑的。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

执行此操作的常用方法是在启动程序/测试时将data_folder的完整位置作为参数传递:

-DFILES_LOCATION=/somelocation/data_folder

然后访问并创建如下文件:

String root_dir = System.getProperty("FILES_LOCATION"); File myFile = new File(rootDir+File.separator+"myfile.txt")

然后它是否是相对路径并不重要 - 您只需指向输入/数据文件的位置。