- BufferedReader的readLine()用户按行读取字符串,返回的字符串不含有最后的换行符。
- File获取一个文件长度的方式为调用length()方法,返回值表示的长度为字节。
- throw用来主动对外抛出异常,throws用来在方法上声明抛出的异常。
- 捕获异常是catch块的工作,finally是释放资源。
- BufferedReader是一个缓冲字符输入流,可以快读文本数据。
- BufferedInputStream是缓冲字节输入流,作用:块写字节效率加速。
- BufferedWriter是一个缓冲字符输出流,可以加快写出效率。
- OutputStreamWriter是转换输出流,作用:衔接字节与字符流,用于将写出的字符转换为字节。
- PrintWriter是具有自动行刷新的缓冲字符输出流;
- 输入流没有自动行刷新。
- File实际表示的是一个抽象路径,可以表示该路径对应的文件或目录。
- 文件输入流的方法:int read()作用是:从文件读取一个字节,返回的int值低8位有效。
- 处理流又称为高级流,不能单独存在,必须单独连接在其他流上。
- 流读取后必须调用close()方法,因为不关闭流可能导致底层资源无法释放,影响其他操作。
- 缓冲输入流没有flush方法,缓冲输出流有flush方法。
- transient:被该关键字修饰的属性在序列化时值被忽略。
- 字符流没有提供读写字节的方法,字符输出流是用于写出字符数据的,字符输入流用于写入字符数据。字符流底层本质还是读取字节。
- 对象所属的类必须已经实现了序列化接口(java.io.Serializable),然后对象流才可以读取任何该java类的任何对象。
- 对象需要实现java.io.Serializable接口才能被序列化或反序列化。
- 文件输出流用于向文件中写入一个字节的方法:void write(int d)
- void write(byte[] data] 这是块写操作
- void write(byte[] data, int off, int len)这是快写操作
- 创建文件时,当前目录是“./”是相对路径,其中"./“可以省略。 如创建文件时,用于指定当前目录中的文件text.txt,其正确路径写法为new File(”./text.txt")或new File(“text.txt”)。
- 文件输出流可以创建一个文件,写出字节向文件中;不能创建目录
- 文件输入流可以读取文件,不能读取目录
- 节点流是低级流,是真实连接程序与另一端的管道。
File和IO流相关的小笔记
