我的代码有啥问题,尝试保存更改的 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
循环(当zeile
为null
时终止)之后才写入。此外,您应该在 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 文件,但没有任何反应的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PHP 从 HTML 文本区域保存 TXT 文件?