如何在文件中的特定行之前添加数据

时间:2016-07-13 06:41:11

标签: java

我想知道如何在文件中的给定行之前添加一些数据,例如。就像在图像中我想在Condition1标签之前添加一些东西但无法设法这样做。我试图使用下一个具有下一行值的变量,但它仍然没有添加我想要的字符串。

String ex ="<Condition1>";
while((line = br.readLine()) != null)
        {
if(next.trim().startsWith(ex))
                {
                    String b="\n"
                       +"<AdditionalECUVariables>"+
                        "var_3 \n"
                    +"var_4 \n"
                        +"var_5 \n"
                    +"var_6 \n";
                    bw.write(b);
                }

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

这段代码看起来很好。我假设在bw.write(line)之类的地方有一条线?如果没有,请务必添加一个。 E.g:

String ex = "<Condition1>";
while ((line = br.readLine()) != null) {
    // If this is the line we want to insert before...
    if (line.startsWith(ex)) {
        String b = "\n" +
                   "<AdditionalECUVariables>" +
                   "var_3\n" +
                   "var_4\n" +
                   "var_5\n" +
                   "var_6\n";
        // Write out our added data.
        bw.write(b);
    }
    // Always write out the line itself.
    bw.write(line);
}

修改

(请注意,我还使用了line而不是next,我在代码中的任何位置都没有看到。{/ p>