io读取文件内容乱码处理

来源:互联网 发布:竹子阿矛离婚知乎 编辑:程序博客网 时间:2024/06/06 02:45

这是一个最简单程序,可能跟其他场合不同;

package com.medivh.io2;import java.io.FileInputStream;import java.io.InputStream;public class InputStreamTest{public static void main(String[] args) throws Exception{InputStream io = new FileInputStream("d:/test.txt");byte[] head = new byte[200];//设置读取范围 String code = "";              code = "gb2312";                if (head[0] == -1 && head[1] == -2 )       {     code = "UTF-16";       }     if (head[0] == -2 && head[1] == -1 )       {      code = "Unicode";       }     if(head[0]==-17 && head[1]==-69 && head[2] ==-65)       {     code = "UTF-8";      }          String str ="";          int length = 0;          while(-1 !=(length =  io.read(head, 0, 200)))//只读取不为空的数据     {     System.out.println(length);         str = new String(head,0,length,code);//将读取信息用特定编码存入字符串中     }          System.out.println(str);     io.close();//关闭流}}

输出结果为:

118
“种族并不代表荣誉。我曾见过一些兽人,他们像最高贵的骑士那样可敬,我还见过某些人类,他们像最残忍的亡灵天灾那样邪恶。”

0 0
原创粉丝点击