1,字节流与字符流相互转换
在一些特殊场景下,需要将字节流和字符流进行转换,这个时候,就需要用到转换流,需要对读取到的字节/字符通过指定的编码进行转换。
场景:需要对流的操作进行编码,或者解码操作
2,文件字节输入流转为读流
/**
- @Author zhiqiu
- @create 2022/4/11 10:51
*/
public class TestFileInputStreamToReader {
private static final String filePath = "D://h.txt";
public static void main(String[] args) {
File file = new File(filePath);
try {
//子节流转化为字符流
Reader inputStreamReader = new InputStreamReader(new FileInputStream(file));
char[] chars = new char[200];
int read = inputStreamReader.read(chars);
System.out.println(new String(chars,0,read));
inputStreamReader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
3,文件字节输入流转化为写流
/**
* @Author Administrator
* @create 2022/4/11 10:57
*/
public class TestFileOutputStreamToWriter {
private static final String filePath = "D://h.txt";
public static void main(String[] args) throws FileNotFoundException {
File file = new File(filePath);
//文件字节输出流转化为写流
Writer outputStreamWriter = new OutputStreamWriter(new FileOutputStream(file));
try {
outputStreamWriter.write("字符流写入,zhiqiu");
outputStreamWriter.close();
System.out.println("写入成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}