流过滤器与文本流
过滤器流(filter stream)也称为包装流,是为某种目的过滤字节或字符的数据流;
基本输入流提供地读取方法只能用来读取字节或字符,而过滤器流能够读取整数值、双精度值或字符串,但需要一个过滤器类来包装输入流;
FilterInputStream 类和 FilterOutputStream 类分别是 DataInputStream 类和 DataOutputStream 类的父类,它们分别实现了 DataInput 和 DataOutput 接口,该接口定义了独立于具体机器的带格式的读写操作,从而可以实现对 Java 中的不同基本类型数据的读写;
DataInputStream 类的使用:
import java.io.DataInputStream; import java.io.FileInputStream; import java.io.IOException; public class Test { public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("C:\\Users\\80626\\Desktop\\1.txt"); DataInputStream dis = new DataInputStream(fis); System.out.println(dis); dis.close(); } catch (IOException e) { } } } /* 输出 java.io.DataInputStream@7adf9f5f */
DataOutputStream 类的使用:
import java.io.*; public class Test { public static void main(String[] args) { try { FileOutputStream fos = new FileOutputStream("C:\\Users\\80626\\Desktop\\1.txt"); DataOutputStream dos = new DataOutputStream(fos); dos.writeBytes("new"); dos.close(); } catch (IOException e) { } } } /* 输出 文件 new */
流过滤器
以一个介质流对象为基础层层构建过滤器流,最种形成流对象在数据的输入输出过程中。逐层使用过滤器流的方法来读写数据
Data
DataInputStream
DataOutputStream
用以读写二进制方式表达的基本数据类型的数据
文本流
Reader/Writer
二进制数据采用InputStream/OutputStream
文本数据采用Reader/Writer
在流上建立文本处理
Reader
常用的是BufferedReader
readLine()
LineNumberReader
可以得到行号
getLineNumber()
FileReader