输入和输出处理(二)

1.掌握基本的字符流的使用

字符流的基类:
Reader
Writer

字符输入流

常用实现类:
FileReader
构造:
FileReader(File file);
FileReader(String pathname);
常用方法:
int read(char[] buffer);读取数据到字符数组中,返回读取的字符数
int read(char[] buffer,int offset,int len);读取指定长度的字符数据到数组中 返回读取的字符数

字符输出流
FileWriter
构造:
FileWriter(File file);
FileWriter(String pathname);
FileWriter(String/File pathname,boolean append);

常用方法:
void write(String str);输出一个字符串
void write(String str,int offset,int len);输出一个字符串的一部分
void write(char[] buffer,int offset,int len);输出一个字符数组的一部分
void write(char[] buffer);输出一个字符数组

**关流方法:**void close();在try-catch中可以通过try()形式自动关闭。

2.掌握高效字符流的使用

高效字符输入流

BufferedReader
	构造;
	BufferedReader(Reader re);

常用方法:
String readLine();读取一行数据
其他同普通字符输入流,但是比之更加高效

高效字符输出流

BufferedWriter
构造:
BufferedWriter(Writer wr);
常用方法:
方法基本和普通字符输出流一样,但是比之更加高效。(都是重新重写自Writer类的xiang’guan方法)

3. 读写二进制文件(了解)

读写变量数据。

4. 掌握序列化和反序列化的实现(对象流)

读写对象数据。
序列化:将对象按照指定的规则存储到文件中。
反序列化:将文件中的数据按照指定的规则转换为对象。

序列化:ObjectOutputStream
反序列化;ObjectInputStream

public class Demo2 {

	public static void main(String[] args) {
		try (
			// 构造:ObjectInputStream(InputStream is)
			ObjectInputStream ois = new ObjectInputStream(new FileInputStream("d:/hotel.txt"));
			){
			// 反序列化
			Object obj = ois.readObject();
			Hotel hotel = (Hotel)obj;
			System.out.println(hotel);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

你可能感兴趣的:(初识)