java - java中的文件读取

标签 java swing jtextarea filereader

我正在尝试在java中读取文本文件并将其写入文本区域。它正在正确读取第一行,但一旦遇到“enter”。它会将下一行的内容覆盖上一行的内容。

这是我的代码。

public void actionPerformed(ActionEvent e) 
                {
                    int val = jfc.showOpenDialog(jf);
                    int x=0;
                    String s;
                    if(val == JFileChooser.APPROVE_OPTION)
                    {
                        File fs=jfc.getSelectedFile();
                        try
                        {
                            BufferedReader of=new BufferedReader(new FileReader(fs));
                            while((s=of.readLine())!=null)
                            {

                                ja.setText(s.toString());
                            }
                        }
                        catch(Exception e1)
                        {
                            JOptionPane.showMessageDialog(null,"Cannot open the file");
                        }
                    }
                }

最佳答案

使用 BufferedReader of=new BufferedReader(new FileReader(fs)); 将文件的所有内容获取到一个字符串中,然后执行 setText()

不要在 while 循环内执行 setText,它会覆盖。

关于java - java中的文件读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31200063/

相关文章:

java - 我应该使用什么同步原语来实现 Java 中的事件驱动程序框架?

Java Swing 自定义形状(2D 图形)

JAVA/Swing(Eclipse): Program works step by step but not in normal execution

java - 插入符号位置设置为最后一行开头的文本区域 (JTextArea) 的自动文本滚动

java - JTextArea shift + enter 换行

java - 将 Smali 值打印到 logcat

java - 如何使用 Java 8 方法对 List<List<>> 结构中的每个元素应用一些更改

java - 使用面板管理 pressButton

java - 使用 KeyEvent(KeyPressed、KeyTyped 等)将字符附加到 JTextArea

java - 使用 Math.random 显示随机数并验证该值是否已附加到 JTextArea