读取文本并将文件输入到JTextArea

时间:2014-08-31 16:44:19

标签: java text 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());
        }
    }
}

2 个答案:

答案 0 :(得分:1)

使用append函数代替settext

答案 1 :(得分:0)

不要重新发明轮子。无需编写循环代码或附加自己的行尾字符串。

使用JTextArea.read(...)方法。