package com.g.x.filee;
import org.junit.Test;
import java.io.*;
/**
* @author
*/
//转换流
public class Zhuanhuanliu {
//字节--》字符 解码炒作
@Test
public void test1(){
InputStreamReader isr = null;
try {
FileInputStream fis = new FileInputStream(new File("Hello.txt"));
isr = new InputStreamReader(fis,"utf-8");
char[] chars = new char[5];
int len;
while ((len = isr.read(chars)) != -1){
String st = new String(chars,0,len);
System.out.println(st);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (isr != null){
try {
isr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
//字符----》字节 并用gbk编码
@Test
public void test2(){
InputStreamReader isr = null;
OutputStreamWriter osw = null;
try {
File file1 = new File("Hello.txt");
File file2 = new File("Hello_gbk.txt");
FileInputStream fis = new FileInputStream(file1);
FileOutputStream fos = new FileOutputStream(file2);
isr = new InputStreamReader(fis);
osw = new OutputStreamWriter(fos,"gbk");
char[] chars = new char[5];
int len;
while ((len = isr.read(chars)) != -1){
osw.write(chars,0,len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (osw != null){
try {
osw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (isr != null){
try {
isr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}