Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java/JSP:从字符串变量写入本地文件时保留换行符_Java_Jsp_Writetofile - Fatal编程技术网

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

Java/JSP:从字符串变量写入本地文件时保留换行符,java,jsp,writetofile,Java,Jsp,Writetofile,我需要帮助创建读写方法来写入文件并保留换行符。文件的内容存储在变量中 我使用以下代码读取本地HTML文件: public String scanLocalPage(String filePath) throws IOException { try{ BufferedReader reader = new BufferedReader(new FileReader(filePath)); StringBuilder sb = new String

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

我使用以下代码读取本地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文件的内容在代码和文本文件中从文本区域输入字段生成


在写入文件并再次读取后,文件内容缺少换行符。非常感谢使用换行符进行读/写操作的任何帮助。

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

sb = sb.append(line).append("\n");

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

在UNIX系统上,它返回“\n”;在Microsoft Windows系统上,它返回“\r\n”

如果您使用的是Java7或更高版本,则可以使用该方法

String newLine = System.getProperty("line.separator");
sb = sb.append(line).append(newLine);
String newLine = System.lineSeparator();
sb = sb.append(line).append(newLine);