Java IO流->处理流->转换流:InputStreamReader&OutputStreamWriter
2015-08-26 10:06
483 查看
图一:
示例代码:
示例代码:
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import org.junit.Test; public class TestOtherStream { /** * 如何实现 字节流 与 字符流 之间的转换? * 转换流:InputStreamReader OutputStreamWriter * 解码:字节数组 -> 字符串 * 编码:字符串 -> 字节数组 */ @Test public void test1() { BufferedReader br = null; BufferedWriter bw = null; try { //解码 File file1 = new File("testOtherStream.txt"); FileInputStream fis = new FileInputStream(file1); InputStreamReader isr = new InputStreamReader(fis, "GBK"); br = new BufferedReader(isr); //编码 File file2 = new File("testOtherStream2.txt"); FileOutputStream fos = new FileOutputStream(file2); OutputStreamWriter osw = new OutputStreamWriter(fos, "GBK"); bw = new BufferedWriter(osw); String str; while((str = br.readLine()) != null) { bw.write(str); bw.newLine(); bw.flush(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (bw != null) { try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } if(br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
相关文章推荐
- Java之hashSet实现引用类型的禁止重复功能
- Spring Bean的简介
- JAVA中extends 与implements区别
- JAVA操作Excel文件
- Java____父类、子类——构造代码块、方法调用顺序问题
- Java中判断字符串是否为数字的六种方法
- java的灵活运用
- Spring MVC form handling annotation example
- zeroMQ 4 java
- 【springmvc Request】 springmvc请求接收参数的几种方法
- Java里的按值传递与引用传递
- Spring学习笔记(六)----Bean的生命周期
- java综合(三)springmvc与spring上下文关系
- jxl(Java Excel API) 使用方法 【2】
- jxl(Java Excel API) 使用方法 【1】
- java excel Workbook API
- 使用JAVA发多人邮件,有附件,有完整代码,复制便可用
- spring的annotation-driven配置事务管理器详解
- MyEclipse 控制台等显示在底部
- Java中的反射机制