本帖最后由 孙百鑫 于 2013-6-27 07:03 编辑
- <P>class Demo
- {
- public static void main(String[] args) throws IOException
- {
- //先通过字符串对 "你好" 进行编码和解码操作
- String s1 = "你好"; //定义一个字符串,用以编码和解码
- byte[] buf = s1.getBytes("GBK"); // 以GBK编码表将s1字符串编码成字节数组
- System.out.println("字符串编码结果:"+Arrays.toString(buf)); // 以字符串形式打印字节数组中的每个元素
- String s2 = new String(buf,"UTF-8"); // 通过UTF-8编码集,将字节数组解码成字符串
- System.out.println("字符串解码结果:"+s2); //打印解码结果。
- //再来看看通过写入和读取流对 "你好" 进行编码和解码操作
- OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("111.txt"),"GBK"); //定义一个转换流,以便通过该流,将"你好"写入到文件里面,写入的编码格式是GBK
- osw.write("你好"); //将 "你好" 写入到 111.txt文件里面
- osw.flush( ); //刷新流
- InputStreamReader isr = new InputStreamReader(new FileInputStream("111.txt"),"UTF-8"); //定义一个转换流,通过UTF-8编码表来读取上面写入的字符数据
- char[] arr = new char[1024]; //定义数组,用于存储读取到的字符数据
- int len = isr.read(arr);
- String str = new String(arr,0,len); // 将读取到数组中的数据转成字符串形式
- System.out.println("读取流解码结果:"+str); // 打印转换后的结果
- </P>
- <P> osw.close();
- isr.close();
- }
- }</P>
复制代码 程序运行后的结果如下:
|