在这里,我正在尝试编写从一个文件读取并打印到另一个文件的程序,而无需进行任何修改。
我必须以这样一种方式写入其他文件,即必须在';'的旁边打印新行。字符。 我尝试了以下代码片段,但最终从';'中打印换行符字符。
这是摘要
try (FileReader fr = new FileReader(file); FileWriter fw = new FileWriter(file2)) {
while ((c = fr.read()) != -1) {
if (c == 59) {
fw.write("\n");
}
fw.write((char) c);
}
}
这是我要阅读的文件片段
.menu ul li{ float:left; padding:0px; margin:0px; font-size:13px;}
.menu ul li a{ display:block; float:left; background-color:#f3d987; padding:7px 12px 5px 12px; color:#000; text-decoration:none;
margin:0 4px 0 0;
答案 0 :(得分:3)
您只需要在换行符后写一个字符即可。
try (FileReader fr = new FileReader(file); FileWriter fw = new FileWriter(file2)) {
while ((c = fr.read()) != -1) {
fw.write((char) c);
if (c == 59) {
fw.write("\n");
}
}
}
答案 1 :(得分:1)
您的问题是在写字符之前先写换行符。
try (FileReader fr = new FileReader(file); FileWriter fw = new FileWriter(file2)) {
while ((c = fr.read()) != -1) {
fw.write((char) c);
if (c == ';') { // If last was semicolon also write a newline
fw.write("\n");
}
}
}