Java拾贝第十二天——IO流之转换流
IO流还提供了一组转换流
主要包括转换输出流(OutputStreamWriter)和(转换输入流InputStreamReader)。
OutputStreamWriter
转换输出流是Writer的子类,作用是将字节输出流转换为字符输出流。(字节👉字符)
OutputStreamWriter构造方法如下:
public OutputStreamWriter(OutputStream out)
从构造方法也看得出来:接收一个字节流然后实例化一个字符流。
D:\IOtest\text.txt内:
//空
栗子:
public static void main(String[] args) {
File file = new File("D:" + File.separator + "IOtest" + File.separator + "text.txt");
try {
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file));
writer.write("把字节转换成字符咯");
writer.flush();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
程序运行后,D:\IOtest\text.txt内:
把字节转换成字符咯
InputStreamReader
转换输入流是Reader的子类,作用是将字节输入流转换为字符输入流。(字节👉字符)
InputStreamReader构造方法如下:
public InputStreamReader(InputStream in)
从构造方法也看得出来:接收一个字节流然后实例化一个字符流。
D:\IOtest\text.txt内:
把字节转换成字符咯
栗子:
public static void main(String[] args) {
File file = new File("D:" + File.separator + "IOtest" + File.separator + "text.txt");
try {
InputStreamReader reader = new InputStreamReader(new FileInputStream(file));
char[] chars = new char[1024];
int read = reader.read(chars);
System.out.println(new String(chars, 0, read));
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
程序运行结果:
把字节转换成字符咯
注意
没有字符转换字节!!!!(字符👉字节)