JavaIO 3—几个基本的流类介绍(下)
来源:互联网 发布:oracle 恢复数据 编辑:程序博客网 时间:2024/06/05 07:00
3 DataOutputStream和DataInputStream
DataOutputStream:数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。对于基本的数据类型都提供了writeXXX的方法(XXX代表基本数据类型)。
DataInputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。DataInputStream 对于多线程访问不一定是安全的。线程安全是可选的,它由此类方法的使用者负责。对于基本数据类型提供了对应的readXXX方法(XXX代表对应的基本数据类型)。
这两个类都需要OutStream或者InputStream对象作为参数来创建对象。下面我们看一个简单的例子:
我们可以在C盘下找到我们创建的1.txt文件,打开之后我们看到却是乱码,但是最后输出的时候还是正确的。这是因为存储的时候,我们存储的是用字节的方式存储的。这种文件有时候可以实现我们保存一些私密数据,别人可以打开但是看不懂。
4 PipedOutputStream和PipedInputStream
上面我们介绍的BufferedOutputStream和BufferedInputStream、DataOutputStream和DataInputStream属于过滤流类,它们共同的直接基类是FilterOutputStream和FilterInputStream。而FileOutputStream和FileInputStream、PipedOutputStream和PipedInputStream、FilterOutputStream和FilterInputStream的共同直接父类是OutputStream和InputStream。
PipedOutputStream:以将管道输出流连接到管道输入流来创建通信管道。管道输出流是管道的发送端。通常,数据由某个线程写入 PipedOutputStream
对象,并由其他线程从连接的PipedInputStream
读取。不建议对这两个对象尝试使用单个线程,因为这样可能会造成该线程死锁。如果某个线程正从连接的管道输入流中读取数据字节,但该线程不再处于活动状态,则该管道被视为处于毁坏状态。
PipedInputStream:道输入流应该连接到管道输出流;管道输入流提供要写入管道输出流的所有数据字节。通常,数据由某个线程从 PipedInputStream
对象读取,并由其他线程将其写入到相应的 PipedOutputStream
。不建议对这两个对象尝试使用单个线程,因为这样可能死锁线程。管道输入流包含一个缓冲区,可在缓冲区限定的范围内将读操作和写操作分离开。如果向连接管道输出流提供数据字节的线程不再存在,则认为该管道已损坏。
管道流主要用于线程间的通信,下面我们写一个例子程序:
为了能一张图片截图,所以有些缩进的格式不正确,读者自己对正。
如果哪里写错了,还请指出。
- JavaIO 3—几个基本的流类介绍(下)
- JavaIO 3—几个基本的流类介绍(上)
- JavaIO 1—File类的介绍
- JavaIO 4—Write和Reader类的简单介绍
- 最基本的JavaIO流操作代码
- JavaIO File的基本使用
- JavaIO 5—RandomAccessFile类的使用
- JavaIO流的总结!
- javaIO—输出一个路径下的所有内容
- JavaIO流(3)
- JAVAIO—字节流
- 【JavaIO】JavaIO流分类
- Ubuntu下的几个基本命令
- unix 下cshell 的几个基本操作
- javaIO流的学习总结
- JavaIO输入输出流的总结
- javaIO流之File类
- 黑马程序员—JavaIO流
- Linux进程状态浅析
- C++程序设计--第八章:名字空间和异常
- mysql乱码解决
- 严重: A web application created a ThreadLocal with key of type [null] (value [com.sun.faces.config.Con
- 嵌入式Linux系统下I2C设备驱动程序的开发
- JavaIO 3—几个基本的流类介绍(下)
- apache2.2.x+php5.2.x在windows上的安装方法(免拷贝dll和ini)
- servfox解析
- 一步一步写算法(之字符串查找 上篇)
- 继续探讨三层关系
- 删除右键菜单中多余项的常用方法
- 探索智能指针
- Flickr 网站架构分析
- 《Linux那些事儿之我是USB》我是U盘(24)彼岸花的传说(三)