如果之前已经发布过,我很抱歉。
我要做的是向位于我项目中的一个包中的文件写入和读取一个简单的字符串。在源代码包中,我有一个名为“资源”的包。myfile.txt
在这里,我想读取一个名为newmyfile.txt
. 只是简单地读取和存储 CSV 数据。
我创建了一个阅读器,如下所示:
public BufferedReader getFileReader(String fileNameWithExtension, String sourcePackage) {
try {
String file = "/" + sourcePackage + "/" + fileNameWithExtension;
BufferedReader br = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream(file)));
return br;
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
return null;
}
}
这在我的 Mac 上运行良好。阅读这个我发现我必须使用 File.separator 才能让它在所有操作系统上工作。所以我改变了这个,但它仍然不起作用。/
有人说,在使用相对路径和其他地方时,无论操作系统如何,相对路径总是以开头../
。作为Java文件存储的新手,我很困惑。
读写文件的方法也很多,不知道该选择什么方法,为什么。
对我来说,读取和创建文件的最佳方式是保存一个长字符串或一组字符串?