O流的概念:
1.IO:input(输入) 和 Output(输出)
2.流:类似于“流水”。线性的,有方向的。
Java中IO流的分类:
广义:
1).输出流:从程序向外部输出数据
2).输入流:从外部程序读取数据
按读写方式分:
1).字节流:可以读写任何文件(包括二进制、文本)
A:输出流:OutputStream(抽象类)
|--FileOutputStream(子类):
输出方法(三种):
1).write(int b):输出一个字节
2).write(byte[]):输出一个字节数组
3).write(byte[],int offset, int len):输入一个字节数组的一部分
其他方法:
4).void close():释放资源
B:输入流:InputStream(抽象类)
|--FileInputStream(子类)
读取方法(两种):
1).int read():读取一个字节。返回值:读取的字节
2).int read(byte[] b):读取一个字节数组,填充数组b,返回值:读取的字节数量
2).字符流:只能读写文本文件
A:输出流:Writer(抽象类)
B:输出流:Reader(抽象类)
FileOutputStream(子类)
1.构造方法:(文件可以不存在,会自动创建)
FileOutputStream(String name):创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(File file, boolean append):创建一个向指定File对象表示的文件中写入数据的文件输出流。
FileOutputStream(String name):创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(String name, boolean append):创建一个向具有指定name的文件中写入数据的输出文件流。
换行符:
1.在Windows下,换行符:\r\n
2.在Linux:\r
3.在Mac:\n
FileInputStream(字节流)
1.构造方法:(构造时,文件必须要存在,否则运行时异常:FileNotFoundException)
FileInputStream(File file):通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的 File 对象 file指定。
FileInputStream(String name):通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名 name 指定。 |