黑马程序员技术交流社区

标题: io获得文件编码格式问题 [打印本页]

作者: qisikudingcha    时间: 2014-1-17 19:57
标题: io获得文件编码格式问题
本帖最后由 qisikudingcha 于 2014-1-21 16:45 编辑

io读取文件有时候会乱码,请问有没有方法获得读取文件的编码格式
作者: 黄晓鑫    时间: 2014-1-17 20:29
通过转换流 所谓的转换流就是把字节流转成字符流 InputStreamReader OutputStreamWriter
作者: qisikudingcha    时间: 2014-1-17 20:55
黄晓鑫 发表于 2014-1-17 20:29
通过转换流 所谓的转换流就是把字节流转成字符流 InputStreamReader OutputStreamWriter ...

InputStreamReader有一个构造方法是public InputStreamReader(InputStream in,String charsetName)
创建使用指定字符集的InputStreamReader,但是源文件的字符集并不知道,请问这种情况怎么解决?
作者: 黄晓鑫    时间: 2014-1-17 23:06
默认编码是GBK
作者: 放课后小朋友    时间: 2014-1-18 11:11
”字节流“转”字符流“设定编码格式:
InputStreamReader isr=new InputStreamReader(new FileInputStream("d.txt"),"UTF-8");意思就是读取文件的时候将d.txt文件的编码格式设置成utf-8格式。
”字符流“转”字节流“设定编码格式:
OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream("s.txt"),"UTF-8");意思就是指定了写入文本内容的时候用的是utf-8的编码格式。

流对象调用getEncoding()方法可以获得一个String类型的字符编码名称。

------------------自己总结,请勿复制、也勿粘贴、更勿照写{:soso_e144:}----------------------
作者: qisikudingcha    时间: 2014-1-18 22:18
放课后小朋友 发表于 2014-1-18 11:11
”字节流“转”字符流“设定编码格式:
InputStreamReader isr=new InputStreamReader(new FileInputStream ...

好的,谢谢,明白了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2