我的groovy程序创建了一个csv,它对于新行具有\ n。但客户希望\ r \ n在他们运行Windows时。如何在groovy中将“ n”替换为“ r n”?
据我所知,这个问题是回答的时候每吨SO这里包括How to remove line breaks from a file in Java?
这个脚本在这里不替换\ n与\ r \ 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);
}
作为一个方面说明,你应该总是关闭()你的流在finally {...}块。 –
如果要从第二个命令转换文件,请使用类似dos2unix的文件。 但是,如果要使用适当的行分隔符生成文件,可以简单地在生成文件本身的脚本中设置适当的行分隔符: System.setProperty(“line.separator”,“\ r \ n “) – user1708042