簡體   English   中英

如何在Groovy中將“ \\ n”替換為“ \\ r \\ n”?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM