//读书笔记
1. File 类唯一与文件本身有关的类,主要是新建/文件是否存在/打开/删除/文件大小文件等与文件本身相关的一些操作.
构造: File f = new File("路径");
2. RandomAccessFile 类对文件内容进行操作. 有读/写等操作
构造: RandomAccessFile rf = new RandomAccessFile(f,"rw");
3. 字节流和字符流
区别:字节流直接操作文件本身,
字符流操作时使用了缓冲区.(函数:flush())
概念:所有文件在硬盘上/传输都是以字节方式进行的, 而字符只有在内存中才会形成.
操作步骤如下:
(1) File类打开一个文件.
(2) 通过字节流/字符流子类指定输出位置.
(3) 进行读/写操作
(4) 关闭输入/输出.
4. 字节流主要操作byte类型数据, 操作类是OutputStream 类和 InputStream类 ...extends Object.
构造: OutputStream out = new FileOutputStream(f) //多态性( FileOutputStream extends OutputStream)
5. 字符流 操作类是Writer和Reader类
构造:Writer out = new FileWriter(f) // FileWriter extends OutputStreamWriter extends Writer
6. 转换流: OutputStreamWriter类和InputStreamReader类
OutputStreamWriter 将输出字符流转化成字节流
实例: Writer out = new OutputStreamwriter(new FileOutputStream(f));
InputStreamReader 将输入字节流转换成字符流.
7. 内存操作流 ByteArrayInputStream和ByteArrayOutputStream
8. 管道流 PipedOutputStream 和PipedInputStream 主要用于两个线程间的通信
9. 打印流 字节打印流PrintStream和字符打印流PrintWriter
构造:PrintStream ps = new PrintStream(new FileOutputStream(new File("路径"))) //PrintStream extends FilterOutputStream extends OutputStream
PrintWriter extends Writer
10. BufferedReader类用于从缓冲区读取内容. extends Reader
实例: BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
11. Scanner类.