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

Java 读取文本并将文件文本输入到JTextArea,java,text,jtextarea,Java,Text,Jtextarea,我的代码怎么了?我试图读取文本文件,然后将文本放入JTextArea,但它的输入只包含最后一行文本。怎么了 代码: public void read() { int returnVal = fc.showOpenDialog(null); if (returnVal == JFileChooser.APPROVE_OPTION) { File file = fc.getSelectedFile(); pavadinimas = file.getN

我的代码怎么了?我试图读取文本文件,然后将文本放入
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());
        }
    }
}

使用append函数代替settext

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

使用
JTextArea.read(…)
方法

Extend:因为每次使用setText(…)都会覆盖文本。将新文本追加到此组件中的旧文本。