gpt4 book ai didi

java - 如何将文件中的多行读取到字符串中以放入 jTextArea 中?

转载 作者:行者123 更新时间:2023-12-01 06:55:20 28 4
gpt4 key购买 nike

我尝试了很多不同的方法,这是迄今为止唯一可以从文件中读取一行的方法......

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

最佳答案

我个人会使用Guava :

File file = new File("Saves", "Body.sav");
String text = Files.toString(file, Charsets.UTF_8);

当然,这是假设它是一个 UTF-8 文件。相应地进行调整。

您当前的代码存在许多问题:

  • 它创建了一个 DataInputStream没有明显原因
  • 可能不会从使用 BufferedReader 中获得太多好处
  • 您没有指定字符编码,因此您隐式地获得了平台默认编码,这几乎不是一个好主意。
  • 您即将关闭 in由于某种原因,它位于输入链的中间......我希望关闭 brfstream
  • 您只是关闭 in如果没有异常(如果您使用的是 Java 7,请使用 finally block 或 try-with-resources 语句)
  • 您似乎有一个名为 Body 的字段,违反Java命名约定
  • 你捕获了Exception而不是IOException - 更喜欢捕获特定的异常
  • 您通过有效地忽略异常来“处理”异常,这几乎永远都不合适。 (读取文件的代码很少是决定如何处理异常的正确代码。)

关于java - 如何将文件中的多行读取到字符串中以放入 jTextArea 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13266051/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com