java - 将换行符写入文件

标签 java file newline

考虑以下功能

private static void GetText(String nodeValue) throws IOException {

   if(!file3.exists()) {
       file3.createNewFile();
   }

   FileOutputStream fop=new FileOutputStream(file3,true);
   if(nodeValue!=null)
       fop.write(nodeValue.getBytes());

   fop.flush();
   fop.close();

}

添加什么让它每次都写在下一行?

例如,我希望给定字符串的每个单词都在一个单独的行中,例如:

i am mostafa

写成:

 i
 am
 mostafa

最佳答案

要将文本(而不是原始字节)写入文件,您应该考虑使用 FileWriter .您还应该将其包装在 BufferedWriter 中然后会给你 newLine方法。

要将每个单词写在一个新行上,请使用 String.split将您的文本分解为单词数组。

所以这是对您的要求的简单测试:

public static void main(String[] args) throws Exception {
    String nodeValue = "i am mostafa";

    // you want to output to file
    // BufferedWriter writer = new BufferedWriter(new FileWriter(file3, true));
    // but let's print to console while debugging
    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));

    String[] words = nodeValue.split(" ");
    for (String word: words) {
        writer.write(word);
        writer.newLine();
    }
    writer.close();
}

输出是:

i
am
mostafa

关于java - 将换行符写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491687/

相关文章:

java - 使用组合时如何从组合类到达主类?

在多行中捕获的正则表达式适用于 regex101.com 但不适用于 PowerShell

java - Android 从隐式 Intent 中获取 .txt 文件

node.js - nodejs 无法将换行符发布到 redis

action - Ansible - 打印消息 - 调试 : msg ="line1\n {{ var2 }}\n line3 with var3 = {{ var3 }}"

java - Android 在 onClickListener 中更改 TextView 需要最终声明吗?

Java递归和 super 素数

java - 如何将 setContentView(View view) 方法移动到 fragment

c - 无法将后续压缩数据写入 C 中的输出文件

file - Nodejs 文件权限