在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 \
答案 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
的值发送到您的服务器