同样的代码在windows下输出文本 占的是173个字节,而在linux下发现变成了360个左右。
在网上查找了下发现是编码问题; 在windows下IO流输出默认是gbk格式。 而在linux下则
为utf-8格式。 所以在文本中有中文字符的情况下,就会出现文本长度不同的问题
那么只要给输出文件指定编码格式就可以解决。 我给文件统一指定为GBK编码
public static void writeFile(String[] str,String filePath) throws IOException{
OutputStreamWriter os = null;
String newLine = System.getProperty("line.separator");
try {
File file = new File(filePath);
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();
}
os=new OutputStreamWriter(new FileOutputStream(file,true),"GBK");
for(String fileStr: str){
os.write(fileStr);
}
os.close();
} catch (Exception e) {
e.printStackTrace();
}finally{
if(os!=null){
os.close();
}
}
}