第十周课程总结
流:一串流动的数据,以先进先出的方式发送信息的通道.
1.操作文件的类--File
File类的构造方法:public File(String pathname)----实例化File类的时候,必须设置好路径。
2.RandomAccessFile类
该类主要是对文件内容进行操作,可以随机的读取一个文件中指定位置的数据;
但是如果想实现这样的功能,则每个数据的长度应该保持一致;
3:按照流的方向(参考点永远是自己的程序)分:
输入流(InputStream):只能向其中读取数据的流.
输出流(OutputStream):只能向其中写出数据的流.
按照数据的传输单位分:
字节流:以字节为单位传输数据的流.
字符流:以字符为单位传输的数据的流
按照功能分:
节点(低级)流:直接对目标设备进行操作的流.
处理(高级)流:对节点流进行连接和封装,生成功能更加强大的流。
字节流:
InputStream:只能读取字节数据的流.
OutputStream:只能写出字节数据的流.
字符流:
Reader:只能读取字符数据的流.
Writer:只能写出字符数据的流.
4.InputStream:只能读取字节数据的流.本身是抽象类不能实例化.
FileInputStream:从文件中读取数据的流类.
FilterInputStream:过滤输入流对象
BufferedInputStream:带缓冲功能的字节输入流对象
DataInputStream:数据输入流,主要提供了读取java八大基本数据类型及其String数据类型的能力.
ObjectInputStream:读取对象的输入流对象
ByteArrayInputStream:字节数组输入流:读取字节数组中的数据.
OutputStream:只能写出字节数据的流.本身是抽象类不能实例化.
FileOutputStream:向文件中写出数据的流.
FilterOutputStream:过滤输出流对象
BufferedOutputStream:带缓冲功能的字节输出流对象.
DataOutputStream:数据输出流,主要提供了写出java八大基本数据类型及其String数据类型的能力.
PrintStream:打印流
ObjectOutputStream:写出对象的输出流对象
ByteArrayOutputStream:字节数组输出流:将数据写入到当前类内部封装的数组中.(开发中常用)
Reader:只能读取字符数据的流。本身是抽象类不能实例化.
InputStreamReader:转化流,将字节流转化成字符流.可以手工指定编码表.
FileReader:从文件中读取字符数据的流.使用本地的编码表,当前是中文环境,所以默认的编码表是gbk
BufferedReader:字符缓冲输入流,给读取字符数据提供了缓冲功能,从而增强了读取字符的效率.
StringReader:字符串输入流对象
Writer:只能向其中写出字符数据的流.本身是抽象类不能实例化.
OutputStreamWriter:字符流转化成字节流的桥梁.可以手工指定编码表.
FileWriter:向文件中写出字符数据的流。使用本地的编码表,当前是中文环境,所以默认的编码表是gbk
BuffereWriter:字符缓存输出流,给写出字符数据提供缓冲功能,从而增强写出字符数据的效率.
StringWriter:字符串输出流对象
PrintWriter:打印字符流对象
System类
System.out 即向显示器上输出(希望用户可以看见的信息
System.err 表示的是错误的标准输出(不希望用户可以看见的信息
System.in 从键盘中读取数据
内存操作流程
字节内存流:ByteArrayInputStream(内存字节输入流);ByteArrayOutputStream(内存字节输出流)
字符内存流:CharArrayReader(内存字节输入流);CharArrayWriter(内存字节输出流)
首先是要声明内存的输入输出流,再去进行操作。
管道流
主要作用是可以进行两个线程间的通信
管道输出流:PipedOutputSream;管道输入流:PipedInputStream
用connect()方法来连接输出和输入流