java - 将 JTextArea 中的内容保存到带有行分隔符的文件中

标签 java lines filewriter bufferedwriter

我在写入文件时遇到问题。

通常我正在创建简单的文本编辑器。我以这种方式加载文件:

try(BufferedReader br = new BufferedReader(new FileReader(currentlyEditedFile))) {
            String line = "";
            editor.setText("");
            while((line = br.readLine()) != null) {
                editor.append(line + "\n");
            }
        } catch(Exception ex) {
            ex.printStackTrace();
        }

经过一些修改后,我想将其保存(写)回文件中。

我是这样做的:

try(PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(currentlyEditedFile)))) {
            String[] lines = editor.getText().split("\\n");//Tried \n, \\n
            for(String s : lines)
                pw.println(s);
        } catch(Exception ex) {
            ex.printStackTrace();
        }

内容会进入文件,但都在一行中。有什么想法如何逐行编写吗?

最佳答案

您可以通过以下简单的方式将文本文件的内容加载到JTextArea中:

 JTextArea textArea = new JTextArea();
 FileReader reader = new FileReader("D:/text1.txt");
 textArea.read(reader, "Content of File");
 reader.close();

您可以通过以下简单且独立于平台的方式将 JTextArea 的内容写入文件:

 PrintWriter pw=new PrintWriter("D:/text1.txt");
 textArea.write(pw);
 pw.close();

希望这对您有帮助。

关于java - 将 JTextArea 中的内容保存到带有行分隔符的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37629760/

相关文章:

由于 sun.misc.IOUtils.createTempFile ("+~JF"、 ".tmp"、null,Java Font.createFont 在 Linux 上失败)

java - 如何在 Java servlet 方法 init() 中获取本地主机和端口?

gnuplot - 计算线之间的距离

java - 从 Java 控制台读取多行,最后一行出现问题

python-如何计算矢量场的等势线?

java - 将 array_chunk 从 php 转换为 java

java - 将字符流转换为字节流以及将字节流转换为字符流

java - 使用 BufferedWriter 在文件中写入整数

java - 在 Java 中使用 BufferedWriter 写入文件

java - 存储查询中的计数值