我尝试了很多不同的东西,这是迄今为止从文件中读取一行的唯一方法......
try{
FileInputStream fstream = new FileInputStream("./Saves/Body.sav");
BufferedReader br = new BufferedReader(new InputStreamReader(infstream);
String strLine;
while ((strLine = br.readLine()) != null) {
System.out.println(strLine);
w1.Body = strLine;
}
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
我正在尝试创建一个加载函数,因此我可以将文件从文件加载到字符串上的jTextArea ...没有任何类型的openfiledialog
答案 0 :(得分:5)
我个人使用Guava:
File file = new File("Saves", "Body.sav");
String text = Files.toString(file, Charsets.UTF_8);
当然,这是假设它是一个UTF-8文件。相应调整。
您当前的代码存在许多问题:
DataInputStream
没有明显原因BufferedReader
in
...我希望关闭br
或fstream
in
(如果您使用的是Java 7,请使用finally
块或try-with-resources语句Body
的字段,违反了Java命名约定Exception
而不是IOException
- 更愿意捕捉特定的例外答案 1 :(得分:3)
我如何阅读...放入jTextArea?
我建议忽略该陈述的整个中间部分。
File file = new File("./Saves/Body.sav");
FileReader fileReader = new FileReader(file);
textArea.read(fileReader, file);
答案 2 :(得分:1)
您可以使用StringBuilder
(或同步版本StringBuffer
)并继续向其添加strLine
。以这种方式声明:
StringBuilder s = new StringBuilder();
并在while
循环中:
s.append(strLine + "\n");