自动化测试并需要将csv保存到已经连接好的某个位置以供下一步使用。
if (bulkJobType.equalsIgnoreCase("IP_REMOVAL")) {
ipFileName = "IP_REMOVAL" + dtf.format(dateTimeNow) + "ip.csv";
FileWriter fw = new FileWriter(ipFileName);
try (PrintWriter pw = new PrintWriter(new FileWriter(ipFileName))) {
pw.write("IP_REMOVAL");
pw.write(System.getProperty("line.separator"));
pw.write a few other proprietary attributes
}
我知道100%,这工程,因为我有几个正确格式化的非版本化文件,只是没有在正确的地方,在文件结构。
文件结构:
name
├── build
├── src
│ ├── test
│ └─java (csv creation happens in here btw)
│ └─resources
│ └─*FOLDER I WANT CSV TO SAVE IN *
│ └─IP_REMOVAL.CSV
├── *WHERE CSV IS ACTUALLY SAVING*`
我已经尝试了几个其他的堆栈溢出线程,但不能让这个工作。我觉得有点奇怪,我不能只是指定一个相对路径,我想保存新创建的csv
任何帮助感激
所有其他SO帖子。这一个FileWriter fw = new FileWriter(new File(dir,str));
似乎是最有希望的,但运气不好
1条答案
按热度按时间bt1cpqcv1#
如果不指定本地文件系统的完整路径**,则无法保存到运行时**中的资源文件夹。
当你这样做的时候
相当于
如果您尝试保存到资源文件夹,它将在
target/classes/
中,而不是您所想的源代码资源文件夹中。你可以做的是,正如在开始时提到的,给出资源文件的完整路径,如
src/main/resources/folder
。另外,不要忘记在写入之前创建目录和文件。