Java/JSP : Preserve line breaks while writing to a local file from string variables

标签 java jsp writetofile

我需要帮助来创建写入文件并保留换行符的读写方法。文件的内容存储在变量中。

我使用以下代码读取本地 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/

相关文章:

java - XSLT:我们可以使用 abs 值吗?

java - bigtable需要锁吗?

java - Jersey Web 服务不处理 XML,而是处理 JSON

java - 无法使用包将一个java类的方法使用到第二个类中

jsp - 在JSP文档(JSPX)中返回格式化的XML输出的简单方法

java - 多线程中的多个选择器

java - 如何避免 servlet 响应新的 html 页面?

c++ - 写入文件权限被拒绝

cocoa - 将数据写入Cocoa文件?

ios - 创建单独的文件