首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java/JSP:在从字符串变量写入本地文件时保留换行符

Java/JSP:在从字符串变量写入本地文件时保留换行符
EN

Stack Overflow用户
提问于 2016-04-26 15:54:39
回答 2查看 1.3K关注 0票数 2

我需要帮助,以创建读写方法,写到一个文件,并保留中断行。文件的内容存储在变量中。

我使用以下代码读取本地HTML文件:

代码语言:javascript
运行
复制
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 "";
        }
    }

以及写入文件的下列方法:

代码语言:javascript
运行
复制
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文件的内容在代码中生成,文本文件从文本区域输入字段生成。

在写入文件,然后再读取它之后,文件内容将丢失换行符。任何帮助读/写与行中断将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-26 16:11:51

您应该使用系统相关的行分隔符字符串:

在UNIX系统上,它返回"\n";在Microsoft系统上,它返回"\r\n“。

代码语言:javascript
运行
复制
String newLine = System.getProperty("line.separator");
sb = sb.append(line).append(newLine);

如果使用的是Java7或更高版本,则可以使用System.lineSeparator()方法。

代码语言:javascript
运行
复制
String newLine = System.lineSeparator();
sb = sb.append(line).append(newLine);
票数 3
EN

Stack Overflow用户

发布于 2016-04-26 16:02:47

当您使用readline()时,换行符将被删除。你必须把它们重新插入

代码语言:javascript
运行
复制
sb = sb.append(line).append("\n");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36869985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档