java--解决文件输出流保存内容无中文时文件编码为ANSI格式不是utf-8
来源:互联网 发布:彩票查询软件 编辑:程序博客网 时间:2024/06/06 13:25
java使用流写出文件时,即使指定了utf-8文件格式,但是如果内容中没有中文,编码会自动改为ansi格式。
生成的代码如下:
public static void saveFile(String file, String data, boolean append) throws IOException {
BufferedWriter bw = null;
OutputStreamWriter osw = null;
File f = new File(file);
FileOutputStream fos = new FileOutputStream(f, append);
try {
// write UTF8 BOM mark if file is empty
if (f.length() < 1) {
final byte[] bom = new byte[] { (byte)0xEF, (byte)0xBB, (byte)0xBF };
fos.write(bom);
}
osw = new OutputStreamWriter(fos, "UTF-8");
bw = new BufferedWriter(osw);
if (data != null) bw.write(data);
} catch (IOException ex) {
throw ex;
} finally {
try { bw.close(); fos.close(); } catch (Exception ex) { }
}
}
另外,输出的utf8文件中中文是乱码,需要考虑2点,一是输出,是否指定了正确的输出格式。二是输入是否按照正确的文件格式去解析了文件。
比如,读一个utf8文件,然后写出另一个utf8文件
File rst01 = new File("a.txt");
File rst02 = new File("b.txt");
InputStreamReader isr = new InputStreamReader(new FileInputStream(rst01), "UTF-8");
BufferedReader reader = new BufferedReader(isr);
OutputStreamWriter writerStream = new OutputStreamWriter(new FileOutputStream(rst02),"UTF-8");
BufferedWriter writer = new BufferedWriter(writerStream);
- java--解决文件输出流保存内容无中文时文件编码为ANSI格式不是utf-8
- 解决java文件输出流保存内容无中文时文件编码为ANSI格式
- .java文件的ANSI编码转换为UTF-8编码
- .java文件的ANSI编码转换为UTF-8编码
- PHP文件保存出现的BOM头(utf-8)的解决方式——保存格式为ANSI即可
- 解决eclipse编辑时文件不能保存中文的问题
- 解决eclipse编辑时文件不能保存中文的问题
- 解决eclipse编辑时文件不能保存中文的问题
- UTF-8格式编码与UTF-8无BOM格式编码的区别(包括java文件)
- UTF-8格式编码与UTF-8无BOM格式编码的区别(包括java文件)
- 解决php保存文件时文件名乱码问题
- source insight如何保存为utf-8的格式编码
- 解决Asp.net 实现文件下载时、输出文件时文件名的中文乱码和空格异常
- 解决Asp.net 实现文件下载时、输出文件时文件名的中文乱码和空格异常
- 解决Asp.net 实现文件下载时、输出文件时文件名的中文乱码和空格异常
- 如何判断一个文本文件内容的编码格式 UTF-8 ? ANSI(GBK)
- 指定输出文本为utf-8编码格式
- java创建文件保存为utf-8
- SSM(十五) 乐观锁与悲观锁的实际应用
- 07:奥运奖牌计数
- kubernetes工作记录(2)——基于release工程的kubernetes1.7.3 rpm包的编译生成
- mui侧滑菜单的功能实现
- jquery 搜索框的功能实现
- java--解决文件输出流保存内容无中文时文件编码为ANSI格式不是utf-8
- MySQL 视图
- 使用mybatis框架执行Oracle数据库日期类型操作的时Date类型精确不到时分秒的问题
- 增长黑客介绍
- 7个perl数组高级操作技巧分享
- STORM入门之(TridentTopology集成Kafka)
- ubuntu下安装komodo
- 蒟蒻的博客。。。
- 关于TP字段field的一些理解