FileOutputStream或使用Java文件的任何创建文件都是默认在Eclipse主文件夹的相对路径中创建的

时间:2019-02-14 17:07:10

标签: java fileinputstream fileoutputstream

图片:https://i.stack.imgur.com/nB9Ys.jpg

每当我使用文件创建代码.file都在Eclipse主文件夹中而不是在我的项目中创建

FileOutputStream fos = new FileOutputStream("filename.txt"); 
OutputStreamWriter osw = new OutputStreamWriter(fos, "utf-8");
Writer writer = new BufferedWriter(osw);
writer.write("something");
System.out.println("new file created ");[enter image description here][1]

我需要更改eclipse conf文件中的任何内容吗? 真的让我很难读取任何文件。我无法在任何项目内使用相对路径

1 个答案:

答案 0 :(得分:0)

有一些环境变量可以确定相对路径的根目录。找出哪一个很容易,但是我认为您的解决方案不应该依赖于此。解决问题的最简单方法是使用绝对路径(类似"C:/myfolder/filename.txt"而不是"filename.txt"。但是,如果要更加灵活,可以向属性文件中添加属性(或在您选择添加属性的任何其他方式)在该属性中存储您的根路径。然后,当您要创建读写文件时,请使用该属性构建路径:

@Value("${root.path}")
public String ROOT_PATH;
...
FileOutputStream fos = new FileOutputStream(ROOT_PATH + "filename.txt");
...