结合两个答案(由Visage和eumiro撰写):
编辑: 阅读评论后。 线。 System.getProperty("line.separator")那就没用了。
在将文件发送到服务器之前,
请先打开它,替换所有EOL并回写确保使用DataStreams这样做,并以二进制形式写入
String fileString;//..//read from the file//..//for windowsfileString = fileString.replaceAll("\r\n", "n");fileString = fileString.replaceAll("\r", "n");//..//write to file in binary mode.. something like:DataOutputStream os = new DataOutputStream(new FileOutputStream("fname.txt"));os.write(fileString.getBytes());//..//send file//..该
replaceAll方法有两个参数,第一个是要替换的字符串,第二个是替换字符串。但是,第一个被视为正则表达式,因此
''被解释为正则表达式。所以:
"\r\n" is converted to "rn" by Regex"rn" is converted to CR+LF by Java



