如何在java中将EOL字符“\ r \ n”替换为“\ n”

时间:2013-12-18 07:03:21

标签: java regex windows string unix

在Windows中,默认情况下,EOL角色为" \r\n"。但我必须将EOL角色更改为" \n"。

如何将字符串从Windows格式转换为UNIX格式?

这是我从windows发送到unix服务器的字符串。

ASPII90 ASPII90 dsascot 00000066YHDASCDRCD\t0700\t9\tASPII90\tA2185\t1234\n YRQ\t\t\t000415832\n YTRENDDRCD\t3\n

但是在服务器中,每个\ n都被转换为空格,后跟" \"。(即)

YHDASCDRON>0400>9>ASPII90>A2185>128 \ 

4 个答案:

答案 0 :(得分:0)

这是一个可能的示例代码(指向文档的链接:String.replace()

public class HelloWorld{

 public static void main(String []args){
    System.out.println("Hello World");
    String myString ="asdasdasdasdassdasdasd\r\n";
    System.out.println(myString.replace("\r\n","\n"));
 }
}

答案 1 :(得分:0)

使用记事本++

在notepad ++中打开文件,选择编辑,EOL转换,UNIX格式。

完成

答案 2 :(得分:0)

您可以使用BufferedReader的readLine()方法读取每一行。

readLine()方法将为您删除\ r \ n

然后使用BuffereWriter.write()将此行追加为'\ n'

  BufferedReader reader = new BufferedReader(new FileReader("xx"));

    BufferedWriter writer = new BufferedWriter(new FileWriter("yy"));

    String line = null;
    while ((line = reader.readLine()) != null) {
        writer.write(line + "\n");
    }

答案 3 :(得分:0)

String是不可变的,但您可以创建一个新的本地字符串作为返回值:

String newString = originalStringNameWithManyLineBreaks.replaceAll("\r\n" , "\n");

现在只将newString的值发送到您的服务器