我的代码有啥问题,尝试保存更改的 txt 文件,但没有任何反应

Posted

技术标签:

【中文标题】我的代码有啥问题,尝试保存更改的 txt 文件,但没有任何反应【英文标题】:WHat is wrong with my code, try to save the changed txt file, but nothing happens我的代码有什么问题,尝试保存更改的 txt 文件,但没有任何反应 【发布时间】:2015-02-02 13:16:18 【问题描述】:

嘿朋友们尝试在我的数据库中替换一些逗号,有人可以告诉我我的代码有什么问题吗,已经完成了替换,但是没有任何事情发生

try 

  BufferedReader br = new BufferedReader(new FileReader("C:/Users/Sei_Erfolgreich/Desktop/convert.txt"));
   String zeile; try 
    while ((zeile = br.readLine()) != null) 
        zeile = zeile.replaceAll("\",\"", "\uffff")
              .replaceAll(",", "")
              .replaceAll("\uffff", "\",\"");
        System.out.println(zeile);
                    
        File newTextFile = new File("C:/Users/Sei_Erfolgreich/Desktop/convert2.txt");
        FileWriter fw = new FileWriter(newTextFile);
     fw.write(zeile);
     fw.close();
    catch (IOException e) 
     e.printStackTrace();
   
   catch (FileNotFoundException e1) 
   e1.printStackTrace();
  
 

【问题讨论】:

我删除了 couchdb 标签,因为这个问题与 couchdb 无关。 【参考方案1】:

从循环出来后你正在写字符串,所以字符串应该是空的,试试这个代码

    try 

        BufferedReader br = new BufferedReader(
                new FileReader("C:/Users/Sei_Erfolgreich/Desktop/convert.txt"));
        String zeile;

        try 
            File newTextFile = new File("C:/Users/Sei_Erfolgreich/Desktop/convert2.txt");
            FileWriter fw = new FileWriter(newTextFile);
            while ((zeile = br.readLine()) != null) 
                zeile = zeile.replaceAll("\",\"", "\uffff").replaceAll(",",
                        "").replaceAll("\uffff", "\",\"");
                System.out.println(zeile);
                fw.write(zeile);
            


            fw.close();
         catch (IOException e) 
            e.printStackTrace();
        
     catch (FileNotFoundException e1) 
        e1.printStackTrace();
    

【讨论】:

【参考方案2】:

试试这个:

BufferedReader br = new BufferedReader(new FileReader("C:/Users/Sei_Erfolgreich/Desktop/convert.txt"));
File newTextFile = new File("C:/Users/Sei_Erfolgreich/Desktop/convert2.txt");
FileWriter fw = new FileWriter(newTextFile);
String zeile; 
try 
    while ((zeile = br.readLine()) != null) 
        zeile = zeile.replaceAll("\",\"", "\uffff").replaceAll(",", "").replaceAll("\uffff", "\",\"");
        System.out.println(zeile);
        fw.write(zeile);
    
fw.close();

您之前所做的事情是读取文件直到最后一行,并且只保存最后一行而不是整个文件文本。

【讨论】:

但是现在逗号还有一个问题,行间的逗号也没有了,所以我需要保持这个,也活着【参考方案3】:

您正在编写null,因为直到您的while 循环(当zeilenull 时终止)之后才写入。此外,您应该在 finally 块中关闭所有内容(或使用try-with-resources。另外,我建议您使用PrintWriter,这样您就可以匹配您的System.out.println()(s)。类似,

File newTextFile = new File("C:/Users/Sei_Erfolgreich/Desktop/convert2.txt");

try (BufferedReader br = new BufferedReader(new FileReader(
        "C:/Users/Sei_Erfolgreich/Desktop/convert.txt"));
        PrintWriter fw = new PrintWriter(newTextFile)) 
    String zeile;
    while ((zeile = br.readLine()) != null) 
        zeile = zeile.replaceAll("\",\"", "\uffff").replaceAll(",", "")
                .replaceAll("\uffff", "\",\"");
        System.out.println(zeile);
        fw.println(zeile);
    
 catch (Exception e) 
    e.printStackTrace();

【讨论】:

以上是关于我的代码有啥问题,尝试保存更改的 txt 文件,但没有任何反应的主要内容,如果未能解决你的问题,请参考以下文章

保存更改多个txt

如何使用 PHP 从 HTML 文本区域保存 TXT 文件?

如何更改多个 .txt 文件中的字符并保存/覆盖 Powershell 中的现有文件

程序加载文件但没有更改任何值

Python tkinter 保存和更改 txt 文件

无法加载或保存 txt。文件