我的代码出了什么问题?我正在尝试读取文本文件,然后将文本放到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());
}
}
}
答案 0 :(得分:1)
使用append函数代替settext
答案 1 :(得分:0)
不要重新发明轮子。无需编写循环代码或附加自己的行尾字符串。
使用JTextArea.read(...)
方法。