src/assets/files/textFile.txt
我已经尝试了所有的建议here,但它们似乎对我不起作用。这是我目前使用的代码:
File file = new File("assets/files/textFile.txt");
if (!file.exists()) {
throw new FileNotFoundException("File does not exist");
}
FileReader fr = new FileReader(file.getAbsoluteFile());
BufferedReader br = new BufferedReader(fr);
当我尝试运行它时,每次都抛出异常。
答案 0 :(得分:0)
此类非文件的术语是资源。
String encoding = "UTF-8";
new BufferedReader(
new InputStreamReader(YourClass.getResourceAsStream("/assets/files/textFile.txt"),
encoding));
FileReader也是一个使用默认系统编码的旧实用程序类。这可能与创建文本文件的位置不同,因此Unicode(例如以UTF-8编码)将是理想的。对于Windows用户,您可以在开头编写BOM字符,将文件标记为UTF-8:"\ufeff"
。
类YourClass应该来自jar。这里使用绝对路径" /..."。相对路径将从包路径开始。
Windows也不区分大小写。其他系统和jar的zip格式区分大小写。使用zip实用程序检查jar以获取正确的路径。