您的位置:首页 > 编程语言 > Java开发

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();
}
}
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: