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

how to jump a character in FileWriter in java?

我在这里尝试编写程序,该程序从一个文件中读取并稍加修改就打印到另一个文件。

我必须以这样的方式写入其他文件,即我必须在“;”的下一个位置打印新行特点。 我尝试了下面的代码片段,但最终从 ';' 打印换行符字符.

这是片段

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;

你只需要在换行符后面写一个字符即可。

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

你的问题是你在写字符之前写了换行符。

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