码迷,mamicode.com
首页 > 编程语言 > 详细

java文件编码问题

时间:2015-03-08 15:31:30      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

1try {

//eclipse默认当前目录为工程根目录,则new File()中使用的相对路径应该是相对根目录的路径

    FileInputStream input=new FileInputStream(new File("bin\\cn\\google\\demo\\data.txt"));

           byte[] b=new byte[100];

           int len=input.read(b);

           //解决乱码问题

           //方法一:手动构造String解码

           String str=new String(b,0,len,"UTF-8");

           System.out.println(str);

           //方法二:利用InputStreamReader对象将字节流转换为相应编码的字符流

           FileInputStream input=new FileInputStream(new File("bin\\cn\\google\\demo\\data.txt"));

           BufferedReader reader=new BufferedReader(new InputStreamReader(input,"UTF-8"));

           int a;

           while((a=reader.read())!=-1){

              System.out.print((char)a);

           }  

} catch (FileNotFoundException e) {

 

           e.printStackTrace();

}

2、System.out和System.in都是按照平台的默认码表进行编码输出和输入的,使用new String(…..)在参数中设置码表可以解码,使用String的getBytes(….)方法可以对字符进行编码。

3、eclipse中工程的properties更改的编码仅仅是eclipse环境中的码表,即仅仅更改System.in和System.out的编码

技术分享

java文件编码问题

标签:

原文地址:http://www.cnblogs.com/littlebugfish/p/4321710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!