java - 我读取文件然后写入文件,文本之间的空格消失

标签 java file-io java.util.scanner stringbuilder

我正在从临时文件中读取并将其写入永久文件,但字符串在某个地方丢失了所有空格

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String b, filename;
        b = null;
        filename = (textfieldb.getText());
        try {
            // TODO add your handling code here:
            dispose();
            Scanner scan;
            scan = new Scanner(new File("TempSave.txt"));
            StringBuilder sb = new StringBuilder();
            while (scan.hasNext()) {
                sb.append(scan.next());
            }
            b = sb.toString();
                    String c; 
        c = b;
        FileWriter fw = null;
        try {
            fw = new FileWriter(filename + ".txt");
        } catch (IOException ex) {
            Logger.getLogger(hiudsjh.class.getName()).log(Level.SEVERE, null, ex);
        }
        PrintWriter pw = new PrintWriter(fw);
        pw.print(c);
        pw.close();
        System.out.println(c);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
          dispose();
        hiudsjh x = new hiudsjh();
        x.setVisible(true);

        System.out.println(b);
    } 

没有错误消息,只是输出应该是一个带有剩余空格的文件

最佳答案

不要使用 hasNext()next() 来获取空格,而是使用 hasNextLine() >nextLine() 逐行读取 filr 并在每行后面附加行分隔符:

while (scan.hasNextLine()) {
    sb.append(scan.nextLine());
    sb.append(System.lineSeparator());
} 

关于java - 我读取文件然后写入文件,文本之间的空格消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56136684/

相关文章:

java - while 循环后的代码不接受输入 [Java]

java - 将图像转换为灰度图像时应用程序没有响应

java - 如何将文本文件内容导入 Java 应用程序中的 JTextArea?

ios - 如何在 iOS 中保存公共(public) .txt 文件(这样任何文本阅读器应用程序都可以打开它)

linux - 批量重命名图像序列

java - NoSuchElementException : No line found when getting user input with scanner?

java - 在 Java 中运行 Quercus PHP

java - App42自定义代码实例化机制

java - 当点击 JButton 连接到服务器时,程序卡住

java.util.NoSuchElementException - 扫描仪读取用户输入