我的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