将文本和输入文件的文本读取到JTextArea
问题描述:
我的代码有什么问题?我试图读取文本文件,然后将文本放到JTextArea
,但其输入只包含最后一行文本。怎么了?将文本和输入文件的文本读取到JTextArea
代码:
public void read() {
int returnVal = fc.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
pavadinimas = file.getName();
try {
FileInputStream fstream = new FileInputStream(fc.getCurrentDirectory() + "/" + pavadinimas);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
tekstas.setText(strLine);
}
in.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
}
}
答
,而不是使用的setText
答
追加功能不要推倒重来。无需编写循环代码或将您自己的行尾字符串追加到您的头文件中。使用JTextArea.read(...)
方法。
延伸:因为每次使用setText(...)都会覆盖文本。追加将新文本添加到此组件中的旧文本。 – pL4Gu33 2014-08-31 16:49:14
好吧,它的工作。谢谢:) – Tadas 2014-08-31 16:53:47
只需使用'JTextArea.read(...)'方法。 – camickr 2014-08-31 19:26:12