Java学习笔记(三)——流
来源:互联网 发布:粮食收购软件 编辑:程序博客网 时间:2024/05/26 02:51
1.用file处理文件虽然比较简单,但它有一些限制:流的读写是顺序的,无法实现对文件的随机访问,也不能在读取数据的同时写数据。要实现这些功能,需要用到专门的类:RandomAccessFile。该类支持随机存取文件的读取和写入,可以跳转到文件的任意位置处读取数据。
2.File f = new File("D:\\test","file.txt");
File f = new File("D:/test","file.txt");
注:“\\”是“/”的转义字符,所以都是正确的。
3.流就是数据流向某个对象,并且到达这个对象的过程。输入流代表外设流入都计算机内存的数据序列,输出流代表从计算机内存流向外设的数据序列。
根据数据类型的不同,流分为2类:一种是字节流(Byte流),一次读写8位二进制数,InputStream和OutputStream设计成字节流类;一种是字符流(Character流),一次读写16位二进制数,Reader和Writer为字符流设计。
4.字节流的处理方式
InputStream和OutputStream定义了最基本的输入和输出功能。但它们都是抽象类,并不能完成实际的操作,程序员需要根据实际情况来选择子类生成对象。
FileInputStream类是InputStream的直接子类,该类主要负责对本地磁盘文件的顺序读入工作。
FileOutStream类是OutputStream的直接子类,该类主要负责对本地磁盘文件的顺序输出工作。
5.Reader类和Writer类
一次性处理2个字节的流,称为字符流。字符流分为两个类:Reader类和Writer类,Reader类负责字符输入工作,Writer类负责字符输出工作。它们也都是抽象类,实际使用的是它们的子类。其中子类InputStreamReader和OutputStreamWriter是由字节流转换成字符流的通道。
6.FileReader和FileWriter类分别是InputStreamReader类和OutputStreamWriter类的子类,用来读取字符文件和写入字符文件的便捷类,并且可以指定文件名称或File对象打开指定的文件。字符转化根据系统默认的编码类型,如果用户指定编码,就是用InputStreamReader和OutputStreamWriter。
7.缓冲字符流BufferReader和BufferWriter类的使用可以提高字符流的处理效率。
BufferReader类是继承Reader类的子类,其在内部有缓冲机制,所以可以以行为单位进行输入工作。不仅具有Reader类的方法,还具有自己的特有的方法如:readLine(),表示按行读取字符,它以回车符和换行符为结束标志。
BufferWriter类是继承Writer类的子类,其在内部有缓冲机制,所以可以以行为单位进行输出工作。不仅具有Writer类的方法,还具有自己的特有的方法如:rnewLine(),表示写入一个行分隔符。行分隔符字符串由系统属性line.separator定义,并且不一定是单个新行('\n')符。
8.System.out是1个FilterOutputStream,OutputStream,PrintStream。
out是FilterOutputStream类内封装的一个过滤的基础输出流字段。然而FilterOutputStream类又是OutputStream类的直接子类,并且out的返回值类型也是OutputStream。PrintStream类是FilterOutputStream类的直接子类,所以它可以从FilterOutputStream类中继承out字段。但PrintStream与其他输出流不同,PrintStream不会抛出IOException。
- Java学习笔记(三)——流
- <JAVA学习笔记三>——集合
- java学习笔记(三)—数组
- java核心技术学习笔记(三)—GregorianCalendar
- JAVA学习笔记三
- JAVA学习笔记《三》
- Java学习笔记三
- Java学习笔记三
- java学习笔记(三)
- java学习笔记三
- java学习笔记三
- Java学习笔记三
- Java 学习笔记三
- JAVA学习笔记三
- Java学习笔记(三)
- JAVA学习笔记三
- java学习笔记三——访问权限
- 黑马程序员——Java学习笔记(三)
- 线路电流声处理方法
- Linux多线程服务端编程:使用muduo C++网络库》(多年编写生产环境下多线程服务端程序经验之精华
- ae指定字段转成注记
- iostat
- awk 文本格式化
- Java学习笔记(三)——流
- HR 面试
- vmstat
- 美国富人自愿要去加税
- WIN32编程系列
- 关于Linux驱动(应用)程序头文件使用
- Apache+Tomcat+AJP
- Win8 URI 方案 (Windows) ms-appX 用法大全
- Android图片适应屏幕大小