首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于bufferedOutputStream的有关问题

2012-03-18 
关于bufferedOutputStream的问题import java.io.*public class IO{public static void main(String[] arg

关于bufferedOutputStream的问题
import java.io.*;

public class IO 
{

public static void main(String[] args) throws IOException 
{

BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream("C:\\Users\\yafee\\Desktop\\temp.txt"));

byte[] data="Hello,我是乔布斯".getBytes();

for (int i = 0; i < data.length; i++) {
System.out.print(data[i]);
}

out.write(data);
out.close();
}
}

控制台的结果为:
72101108108111-93-84-50-46-54-57-57-57-78-68-53-71

我有一点搞不懂:
我本来是把“Hello,我是乔布斯”这个字符串转化为字节数组,存在temp.txt这个文件中,所以temp.txt文件里存的应该是“72101108108111-93-84-50-46-54-57-57-57-78-68-53-71”(因为我通过for循环在控制台打印出来的就是“72101108108111-93-84-50-46-54-57-57-57-78-68-53-71”),但是为什么现在temp.txt文件里的内容是“Hello,我是乔布斯”呢???


[解决办法]
你用记事本打开的文件,看到的内容被“记事本”这个编辑软件根据编码格式解释后的了

记事本有具有这个智能功能,可以识别utf-8,ansi....等等格式的文件

那些中文符号,在内存中由多个字节组合而成 

你打开的是gbk编码格式的文件,此时,2个字节足以表示一个中文字符



热点排行
Bad Request.