java中的IO流
JAVA中的IO流
一、标准输入流、转换流与打印流
1、标准输入输出流
public static final InputStream in:标准输入流,字节输入流,用来读取键盘录入的数据
public static final PrintStream out:标准输出流,节输出流,将数据输出到命令行
2、转换流
(1)OutputStreamWriter:将字节输出流转换为字符输出流
(2)InputStreamReader:将字节输入流转换为字符输入流
3、打印流
字符打印流 PrintWriter
void print(String str): 输出任意类型的数据,
void println(String str): 输出任意类型的数据,自动写入换行操作
二、对象操作流
1、简介
ObjectInputStream 称为 反序列化流,利用输入流从文件中读取对象
ObjectOutputStream 称为 序列化流,利用输出流向文件中写入对象
三、Properties集合
1、简介
Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载,是Hashtable的子类,集合无泛型,键值为字符串。
2、相关方法
(1)load —读取属性列表
(2)store—将属性值写入输出流
3、代码
//创建属性列表对象
Properties prop = new Properties();
//添加映射关系
prop.setProperty("1", "A");
prop.setProperty("2", "B");
prop.setProperty("3", "C");
//创建输出流对象
FileWriter fw = new FileWriter("x.txt");
prop.store(fw, "xxxx");
四、编码表
1、简介
编码表:把计算机底层的二进制数据转换成字符
2、Java中字符串的编码
(1)常用方法
String():String 对象,表示一个空字符序列
String(byte[] bytes) 使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String
String(byte[] bytes, Charset charset) :charset 解码
getBytes() 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中
getBytes(Charset charset) 使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组
3、字符流中的编码
(1)InputStreamReader(InputStream in, CharsetDecoder dec) 创建使用给定字符集解码器的 InputStreamReader
(2)OutputStreamWriter(OutputStream out, CharsetEncoder enc) 创建使用给定字符集编码器的 OutputStreamWriter