java读取写入utf-8编码文件
来源:互联网 发布:ping服务器的某个端口 编辑:程序博客网 时间:2024/05/17 00:15
private static void replace(File file,String searchStr,String replaceStr) {// TODO Auto-generated method stub if(searchStr == null){ return; } try{/* FileReader reader = new FileReader(file); char[] dates = new char[1024]; int count = 0; StringBuilder sb = new StringBuilder(); while((count = reader.read(dates)) > 0){ String str = String.valueOf(dates, 0, count); sb.append(str); } reader.close();*/ InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8"); StringBuffer sbread = new StringBuffer(); while (isr.ready()) { sbread.append((char) isr.read()); } isr.close(); // 从构造器中生成字符串,并替换搜索文本 String str = sbread.toString().replace(searchStr, replaceStr);/* FileWriter writer = new FileWriter(file); writer.write(str.toCharArray()); writer.close();*/ OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(file),"UTF-8"); out.write(str.toCharArray()); out.flush(); out.close(); }catch(Exception e){ e.printStackTrace(); } System.out.println("替换完成!");}因为FileWriter在写文件的时候,其编码方式似乎是System.encoding或者System.file.encoding(已经证明FileWriter和FileReader确实使用系统当前默认的编码方式,更多信息包括FileReader的详见http://www.javapractices.com/Topic42.cjp),
* 在中文win下encoding基本是gb2312,在en的win下基本是iso-8859-1,总之不是utf-8。
* 所以要创建一个utf-8的文件,用FileWriter是不行的。(FileWriter和FileReader都不支持通过参数指定编码方式,而OutputStreamWriter和InputStreamReader可以。这两个类从名字上就可以看到是字节流和字符流的组合,实际上也是连接两者的桥梁)。 目前不知道如何更改其用来写文件的编码方式,因此对于创建utf-8文件使用如下方式来代替。
- java读取写入utf-8编码文件
- Delphi读取和写入utf-8编码格式的文件
- JAVA 带缓冲的UTF-8编码文件写入
- Java 读文件写入数据库 编码问题 utf-8、 GBK
- java以UTF-8编码写入文本文件
- java 文件读取写入的编码问题
- J2ME读取UTF-8编码文件方法
- J2ME读取UTF-8编码文件方法
- VBA 向文件写入编码为UTF-8的数据
- java 逐行读取和写入文件内容,指定编码
- java按指定编码写入和读取文件内容的
- java按指定编码写入和读取文件内容
- java文件读取、写入
- JAVA从UTF-8编码文件读取字符串时,前边有问号的问题
- JAVA从UTF-8编码文件读取字符串时,前边有问号的问题
- Java IO操作之文件读取与写入 无乱码FileOutputStream FileInputStream使用-IO写utf-8乱码问题
- Java以UTF-8编码读写文件
- Java以UTF-8编码读写文件
- 图像处理与计算机视觉 基础、经典以及最近发展
- Validation 服务器控件
- COGS 614 游历校园
- UML用例图总结
- 简单程序Perl C++的效率比较
- java读取写入utf-8编码文件
- SQL Server日期时间格式转换字符串详解
- Csocket常用函数
- 苹果 企业 开发者账号 注册、申请续费整个流程($299的账号) ┊
- iOS 7用户界面过渡指南
- C++ Excel操作的小函数
- php开发网站的优势有哪些? 升级LAMP(Linux+apache+mysql+php)架构后的优点?
- eclipse 导入项目中文乱码
- 碰到的异常