1、输入字节流转换为输入字符流
/**
* 输入字节流转换为输入字符流
*/
@Test
public void test1(){
try(InputStreamReader is = new InputStreamReader(new FileInputStream("hi.txt"));){
char[] data = new char[20];
int len;
while((len = is.read(data)) != -1){
String str = new String(data,0,len);
System.out.print(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
2、 输入字节流转为输入字符流,输出字符流转为输出字节流。
/**
* 输入字节流转为输入字符流,输出字符流转为输出字节流。
*/
@Test
public void test2(){
File file = new File("hi.txt");
File file1 = new File("hi2.txt");
try( InputStreamReader isr = new InputStreamReader(new FileInputStream(file),"utf-8");
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(file1),"gbk");){ // 表示以gbk格式写入
char[] data = new char[8];
int len = -1;
while((len = isr.read(data)) != -1){
osw.write(data,0,len);
String str = new String(data,0,len);
System.out.print(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}