我正在为一个不喜欢文件末尾的\ r \ n的刚性系统创建一个文件。但是在创建文件时,java会自动添加它。
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class FileTest {
public static void main(String[] args) throws Exception {
String fileText = "a\r\nb";
String filePath = "/log/engines/Testfile.txt";
FileOutputStream out = null;
ByteArrayOutputStream byteOut = null;
try {
out = new FileOutputStream( filePath);
byteOut = new ByteArrayOutputStream();
char[] charArr = fileText.toCharArray();
for( int i=0; i<charArr.length; i++) {
byteOut.write( charArr[i]);
// out.write( charArr[i]);
}
byteOut.writeTo( out);
System.out.println( "Last Char in File =" +charArr[charArr.length-1] +"=" +(int)charArr[charArr.length-1]);
} finally {
if (byteOut != null) {
byteOut.close();
}
if (out != null) {
out.close();
}
}
}
}
此文件的二进制文件如下 -
610d 0a62 0d0a == (a\r \nb \r\n)
0d = "\r"
0a = "\n"
我很喜欢我添加的第一个“\ r \ n”,但不是最后一个自己添加的。感谢任何帮助。