我需要帮助来创建写入文件并保留换行符的读写方法。文件的内容存储在变量中。
我使用以下代码读取本地 HTML 文件:
public String scanLocalPage(String filePath) throws IOException
{
try{
BufferedReader reader = new BufferedReader(new FileReader(filePath));
StringBuilder sb = new StringBuilder();
String line;
while((line = reader.readLine())!= null){
sb=sb.append(line);
}
reader.close();
return sb.toString();
}
catch (Exception ee)
{
return "";
}
}
以及以下写入文件的方法:
public void writeToFile (String fileName, String fileContents) throws IOException
{
File outFile = new File (fileName);
try (FileWriter fw = new FileWriter(outFile)) {
fw.write(fileContents);
fw.close();
}
}
我使用上述方法从字符串变量读取和写入 HTML 文件和文本文件。 HTML 文件的内容是在代码和文本文件中从文本区域输入字段生成的。
写入文件并再次读取后,文件内容缺少换行符。任何有关使用换行符进行读/写的帮助都将受到赞赏。
最佳答案
您应该使用与系统相关的行分隔符字符串:
在 UNIX 系统上,它返回“\n”;在 Microsoft Windows 系统上,它返回“\r\n”。
String newLine = System.getProperty("line.separator");
sb = sb.append(line).append(newLine);
如果您使用的是 Java 7 或更高版本,则可以使用 System.lineSeparator()方法。
String newLine = System.lineSeparator();
sb = sb.append(line).append(newLine);
关于Java/JSP : Preserve line breaks while writing to a local file from string variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36869985/