gpt4 book ai didi

java - 将文本文件附加到 StringBuffer 后,有没有办法恢复换行符?

转载 作者:行者123 更新时间:2023-12-02 05:14:30 28 4
gpt4 key购买 nike

为了从文本文件中删除行,我执行以下操作:

 public void removeTagLine(String tag, String filename)
{
try
{
BufferedReader br=new BufferedReader(new FileReader(filename));

//String buffer to store contents of the file
StringBuffer sb=new StringBuffer("");

String line;

while((line=br.readLine())!=null)
{
//Store each valid line in the string buffer
if(!line.contains(tag))
sb.append(line+"\n"); //here
}
br.close();

FileWriter fw=new FileWriter(new File(filename));
//Write entire string buffer into the file
fw.write(sb.toString());
fw.close();
}
catch (Exception e)
{
System.out.println("Something went horribly wrong: "+e.getMessage());
}
}

这完全符合我的希望,只是我丢失了所有新行。值得注意的是,我的换行符是通过执行

完成的
writer.newLine();

正如您所看到的,我在//here 标记了注释,我添加了一个\n,但删除了行的新文件仍然全部在一行中。给出了什么?

最佳答案

使用 System.getProperty("line.separator"); 而不是 \n 以避免任何平台依赖性。

行分隔符可能会因所使用的操作系统而异:

  1. \n - *nix 系统
  2. \r\n - Windows 系统

关于java - 将文本文件附加到 StringBuffer 后,有没有办法恢复换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27082432/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com