[英]How do I replace “\n” with “\r\n” in groovy?
我的groovy程序創建了一個\\ n換成新行的csv。 但是客戶在運行Windows時需要\\ r \\ n。
我知道這個問題在SO上回答了很多時間,包括此處如何在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);
}
您正在使用readLine一次讀取一行文件-這已經刪除了以您結尾的行。
您需要做的是像現在一樣一次讀取一行-然后在每行之間添加\\ r \\ n,而不是替換。
while ((line = reader.readLine()) != null) {
outData.append(line);
outData.append("\r\n");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.