如何在Java中的FileWriter中跳一个字符?

时间:2018-08-21 10:54:04

标签: java filewriter

在这里,我正在尝试编写从一个文件读取并打印到另一个文件的程序,而无需进行任何修改。

我必须以这样一种方式写入其他文件,即必须在';'的旁边打印新行。字符。 我尝试了以下代码片段,但最终从';'中打印换行符字符。

这是摘要

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;

2 个答案:

答案 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");
        }
    }
}