如何在groovy中用“\ r \ n”替换“\ n”?

时间:2015-04-23 12:51:56

标签: java string groovy

我的groovy程序创建了一个csv,它对新行有\ n。但客户想要\ r \ n,因为他们运行Windows。

我知道这个问题在SO上得到了很多时间的回答,包括How to remove line breaks from a file in Java?

这里的脚本不会用\ r \ n替换\ n。 \ n只是留在

    newline = System.getProperty("line.separator");
    for (int i = 0; i < dataContext.getDataCount(); i++) {
        InputStream is = dataContext.getStream(i);
        Properties props = dataContext.getProperties(i);

        reader = new BufferedReader(new InputStreamReader(is));
        outData = new StringBuffer();
        lineNum = 0;

        while ((line = reader.readLine()) != null) {
            line.replace(newline, "\r\n")
            outData.append(line);


        }
        is = new ByteArrayInputStream(outData.toString().getBytes("UTF-8"));

        dataContext.storeStream(is, props);
    }

1 个答案:

答案 0 :(得分:3)

您正在使用readLine读取该行的文件 - 这已经删除了为您结束的行。

您需要做的就是像现在一样一次读取一行 - 然后在每行之间追加\ r \ n,而不是替换。

   while ((line = reader.readLine()) != null) {
        outData.append(line);
        outData.append("\r\n");
    }