java - 获取单元测试包中输入数据文件的绝对路径
问题描述
我有以下文件结构(文件夹标有 - ):
-test
-java
-com.andrei.example.utils.data.input.impl
UnitTest.java
-template
data.csv
我需要data.csv
从UnitTest.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.java
test.java. ...
我怎样才能得到data.csv
文件的绝对路径?
谢谢!
解决方案
¿ 你试过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
但您以图形方式进行了选择。然后你就进去AbsolutePath
了jfc.getSelectedFile().getAbsolutePath();
。另一种选择可能是使用这种格式的路径"C:\\Users\\Username\\Documents\\NetBeansProjects\\hash\\tareas\\template\\data.csv"
。
推荐阅读
- sql - 在 SQL Server 中使用表变量
- mysql - SQL:从 2 列中过滤具有 2 个匹配条件的数据
- xamarin.ios - Xamarin 应用程序不会发布到苹果商店 - 多个 ERROR ITMS-90045 错误
- c - C中的字符串比较(游戏项目)
- c# - C#如何将richtextbox文本设置为默认值?
- bash - Bash脚本用文件名中的点替换所有连字符
- c++ - 使用静态大小的数组进行堆栈保护的预期行为是什么?
- python - 字典键和值 Python 的笛卡尔积
- python - 文本替换在特殊情况下不起作用
- google-apps-script - Google Apps 脚本 - setValue() 突然停止工作