InputStream\OutputStream\Reader\Writer构成了java.io的鼻祖。
具体如下:
InputStream和OutputStream类仅仅读取和写入单个的字节和字节数组,它们没有读取和
写入字符串和数值的方法。
对于Unicode文本,一个字符占用两个字节,所以出现了Reader和Writer。
特别:ZipInputSteam和ZipOutputStream能读写常见的ZIP压缩格式的文件。
InputStream、OutputStream、Reader、Writer类都实现了Closeable接口。
OutputStream和Writer都实现了Flushable接口。
FileInputStream和FileOutputStream能够把输入和输出流与磁盘文件关联起来。
eg:
FileInputStream fin = new FileInputStream("c:\\dev\\my.dat");------注意:最好使用反斜杠,反斜杠代表转义符使用。
或者:
File f = new File("c:\\dev\\my.dat');
FileInputStream fin = new FileInputStream (f);
用于读取字节:
byte b = (byte)fin.read();
用于读取数值:
DataInputStream dis = new DataInputStream(fin);
double d = dis.readDouble();
FileInputStream没有读取数值的能力,但是DataInputStream也没有从文件中读取数值的方法,所以两者注定在一起结合使用!
从上面我们可以知道:
java的处理IO的两种策略:一些流(如FileInputStream)可以从文件及其他地方接收字节;另一些流(如DataInputStream和PrintWriter)可以将字节组合成更加有用的数据类型。
eg:
FileInputStream fin = new FileInputStream("c:\\dev\\my.dat");---------从文件中读取值,创建流
DataInputStream dis = new DataInputStream(fin); --------结合后的流叫:过滤流(filtered stream)
double d = dis.readDouble();
默认情况下,流是不能进行缓冲处理的。就是每次对流进行read读取都要求操作系统发送一个新字节,若想要对当前目录下的文件
进行缓冲和数据输入操作,应该利用FileInputStream和FileOutputStream它们的子类合并为一个新的过滤流。
DataInputStream dis= new DataInputStream(new BufferedInputStream(new FileInputStream("c:\\dev\\my.dat")));
PushbackInputStream pis = new PushbackInputStream(new BufferedInputStream(new FileInputStream("c:\\dev\\my.dat")));-------能够对流进行跟踪,如下:
int b = pis.read(); -----读取下一个字节
if(b != '<') pis.unread(b);--------不是自己想要的,把它扔回去
但是read和unread是PushbackInputStream仅有的方法,若既想预查看,又想获取值,可以用:
DataInputStream dis= new DataInputStream(
pis = new PushbackInputStream(new BufferedInputStream(new FileInputStream("c:\\dev\\my.dat")));
利用构造的真正实用的流序列,也为我们带来很大的灵活性。
处理zip文件:
ZipInputStream zip = new ZipInputStream(new FileInputStream("ocean.zip"));
DataInputStream dis = new DataInputStream(zip);
分享到:
相关推荐
`InputStream`、`OutputStream`、`Reader`和`Writer`是Java IO流的基础类,它们提供了读写文件的基本接口。本篇文章将深入讲解这些类的用法,并提供实际的代码示例,帮助初学者更好地理解和应用。 1. `InputStream`...
InputStream OutputStream Reader Writer FileInputStream FileOutputStream FileReader FileWriter InputStreamReader OutputStreamWriter BufferedReader BufferedWriter PrintWriter ...
IO流是Java中的一种基本的数据交换方式,通过InputStream和OutputStream可以实现数据的读取和写入,而Reader和Writer可以实现字符流的读取和写入。IO流的知识点很多,需要认真学习和掌握。 InputStream的类型: * ...
此外,值得注意的是,虽然`InputStream`和`OutputStream`以及`Reader`和`Writer`之间存在类似的关系,但在设计上,`InputStream`和`OutputStream`更偏向于底层数据传输,而`Reader`和`Writer`则提供了更高级的字符...
IO 概述 File 类 IO 流分类 InputStream & Reader OutputStream & Writer RandomAccessFile 类 对象的序列化
InputStream、OutputStream、Reader、Writer是四个抽象类。Java中其他多种多样变化的流均是由它们派生出来的。在这四个抽象类中,InputStream和Reader定义了完全相同的接口:int read() int read(char cbuf[]) int ...
java的IO流总结:包含Inputstream,OutputStream,writer和reader
* io流 运用 * 注意:只要子类 包含以下类名字的,就是该... * InputStream----- 输入字节流 * Reader-------- 输入字符流 * OutputStream-----输出字节流 * Writer --------输出字符流
基础 IO 类和相关方法InputStream OutputStream Reader 类Writer 类 InputStream 及其子类 OutputStream 及其子类Reader 及其子类Writer 及其子类 注解 关于 null 的几种处理方式大小写敏感 null 是任何引用类型的...
流的概述 流的分类 InputStream/OutputStream Reader/Writer 流的几种典型流向 RandomAccessFile的用法 Zip格式文件的压缩/解压 新东方java教程
Java 中的流都是从四个抽象类派生出来的:InputStream、OutputStream、Reader 和 Writer。 InputStream 和 OutputStream 是基于字节流的,它们是 Java 中最早的输入/输出流接口。Reader 和 Writer 是基于字符流的,...
这两种流主要由四个抽象类来表示:InputStream、OutputStream、Reader、Writer,输入输出各两种。其中InputStream和OutputStream表示字节流,Reader和Writer表示字符流,其他流均是继承这四个抽象类而来的。 在Java...
首先,IO流的对称性质体现在InputStream与OutputStream以及Reader与Writer这两对概念上。InputStream和OutputStream构成了字节输入-输出的系统,它们是所有字节流的基类,提供了一般性的输入输出操作。Reader和...
这一章主要讲解了Java中的I/O流,包括InputStream、OutputStream、Reader和Writer类的使用及其相关的子类。下面将详细阐述这些知识点。 1. **InputStream与OutputStream**: - **InputStream**:这是所有字节输入...
InputStream/OutputStream Reader/Writer 流的几种典型流向 RandomAccessFile的用法 Zip格式文件的压缩/解压 GZip格式文件的压缩/解压 Jar格式文件的压缩/解压 NIO概述 Buffer的用法 Channel Charset 文件锁
这个体系主要包括四大类:InputStream、OutputStream、Reader和Writer。InputStream和OutputStream处理字节流,而Reader和Writer则用于处理字符流。InputStream与Reader相似,它们都用于读取数据,但Reader具有字符...
=分类: 方向 单位== ==单位 方向 输入流 输出流== ==字节流 InputStream OutputStream 主要用来对影像文件或者媒体== ==字符流 Reader Writer 主要用来对文本文件进行操作==
InputStream OutputStream FileInputStream FileOutputStream DataInputStream DataOutputStream BufferedInputStream BufferedOutputStream ObjectInputStream ObjectOutputStream ByteArrayInputStream ...
读取流:InputStream Reader 写出流:OutPutStream Writer 2、按流的类型分类 字节流:InputStream OutputStream 字符流:Reader Writer 二、流功能分析 读取流是从输入设备或数据对象中读取...
在Java IO流中,有四个基本的抽象类:InputStream、OutputStream、Reader和Writer。所有的输入流都继承自InputStream或Reader,所有输出流都继承自OutputStream或Writer。这些类提供了读写数据的基本方法,如read()...