首页 > 解决方案 > 获取单元测试包中输入数据文件的绝对路径

问题描述

我有以下文件结构(文件夹标有 - ):

-test
    -java
        -com.andrei.example.utils.data.input.impl
            UnitTest.java
            -template
                data.csv

我需要data.csvUnitTest.java文件中获取文件的绝对路径。这是我尝试过的

String workingDir = System.getProperty("user.dir");
String testDataFilePath = workingDir + File.separator + "/template/data.csv";

System.getProperty("user.dir");返回根项目目录,我不想硬编码文件路径的其余部分。

我也试过这个:

    File file = new File("./template/data.csv");
    file.getAbsolutePath();

但是这个也返回了我的根项目 dir + ./template/data.csv

我无法获取文件的绝对路径,data.csv因为.UnitTest.javatest.java. ...

我怎样才能得到data.csv文件的绝对路径?

谢谢!

标签: java

解决方案


¿ 你试过JFileChooser吗?

JFileChooser jfc = new JFileChooser();
        jfc.setCurrentDirectory(new File("C:\\Users\\Username\\Documents\\NetBeansProjects\\hash\\tareas"));
        jfc.showOpenDialog(jfc);
        String ruta = jfc.getSelectedFile().getAbsolutePath();   

例如,setCurrentDirectory您将特定路线打开,openDialog但您以图形方式进行了选择。然后你就进去AbsolutePathjfc.getSelectedFile().getAbsolutePath();。另一种选择可能是使用这种格式的路径"C:\\Users\\Username\\Documents\\NetBeansProjects\\hash\\tareas\\template\\data.csv"


推荐阅读