OutputStream和InputStream
来源:互联网 发布:淘宝怎样查看物流信息 编辑:程序博客网 时间:2024/05/18 20:09
总结:InputStream和OutputStream的类结构
参照JDK 1.6帮助文档
1、OutputStream
|---ByteArrayOutputStream
//数据被写入一个byte数组,缓冲区会随着数据的不断写入而自动增长
//常用方法:toByteArray()和toString([charset])
//write( byte[] b, start, len),将b数组中的内容写到此类的私有的byte数组中
//write(int b),将b写入到此类的私有的byte数组中
|---FileOutputStream
//构造方法FileOutputStream(File / fileName, isAppend)
//write( byte[] b),将b写入文件
//write( byte[] b, start, len),将b的某段写入文件
//write( int b),将字节b写入文件
|---FilterOutputStream
//FilterOutputStream 类本身只是简单地重写那些将所有请求传递给所包含输出流的 OutputStream 的所有方法。
//FilterOutputStream 的子类可进一步地重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。
|---BufferedOutputStream
//构造方法BufferedOutputStream(OutputStream),新建一个缓冲流,数据最终要写入传进的底层输出流
//flush,刷新此缓冲流
//write(byte[] b, start, len)
//write(int b),将b写入此类本身的byte数组中
|---CheckedOutputStream //需要维护写入数据校验和的输出流。校验和可用于验证输出数据的完整性
|---CipherOutputStream
|---DataOutputStream//数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入
|---DeflaterOutputStream
|---GZIPOutputStream //使用 GZIP 文件格式写入压缩数据
|---ZipOutputStream //以 ZIP 文件格式写入文件
|---JarOutputStream //向任何输出流写入 JAR 文件内容
|---DigestOutputStream //获得一个流的摘要
|---InflaterOutputStream //解压缩 "deflate" 压缩格式存储的数据
|---PrintStream
//为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式
//PrintStream 永远不会抛出
IOException
;而是,异常情况仅设置可通过checkError()方法测试的内部标志 //
|---ObjectOutputStream // 将 Java 对象的基本数据类型和图形写入 OutputStream
|---PipedOutputStream //将管道输出流连接到管道输入流来创建通信管道。管道输出流是管道的发送端
2、InputStream
|---AudioInputStream //音频输入流
|---ByteArrayInputStream
//read(),从输入流读取一个字节
//read( byte[] b, start, len),从输入流读取一段
|---FileInputStream
|---FilterInputStream
|---BufferedInputStream
|---CheckedInputStream
|---CipherInputStream
|---DataInputStream
|---DeflaterInputStream
|---DigestInputStream
|---InflaterInputStream
|---ProgressMonitorInputStream
//监视读取某些 InputStream 的进度。大致用以下形式调用此 ProgressMonitor:
InputStream in = new BufferedInputStream( new ProgressMonitorInputStream( parentComponent, "Reading " + fileName, new FileInputStream(fileName)));
//这可以创建一个进度监视器,以监视读取输入流的进度。如果需要一段时间,将会弹出 ProgressDialog,以通知用户。如果用户单击 Cancel 按钮,则在进行下一次读取操作时会抛出 InterruptedIOException。当关闭流时,会执行所有的正确清除
|---PushbackInputStream
//
PushbackInputStream
为另一个输入流添加性能,即“推回 (push back)”或“取消读取 (unread)”一个字节的能力|---ObjectInputStream
|---PipedInputStream
|---SequenceInputStream
//
SequenceInputStream
表示其他输入流的逻辑串联。 //它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾。
//接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止
0 0
- InputStream 和OutputStream
- InputStream 和OutputStream
- InputStream 和OutputStream
- InputStream 和OutputStream
- InputStream 和OutputStream
- inputStream 和outputStream
- InputStream 和OutputStream
- InputStream 和OutputStream
- InputStream 和OutputStream
- InputStream和OutputStream
- InputStream和OutputStream
- InputStream 和OutputStream
- InputStream 和OutputStream介绍
- InputStream 和 OutputStream
- OutputStream和InputStream
- InputStream和OutputStream
- InputStream和OutputStream
- InputStream 和OutputStream
- 修改Android中Spinner的显示及下拉样式的四种方法
- Java之美[从菜鸟到高手演变]之多线程简介 .
- Spring MVC视图层:thymeleaf vs. JSP
- Java之美[从菜鸟到高手演变]之线程同步的引入
- android类似用户最新消息的小图标提醒功能
- OutputStream和InputStream
- sql convert(varchar(10),getdate(),120)
- 揭开Scrum神秘面纱重新认识Agile——记参加ShineScrum的CSM培训有感
- 转载]在vc2008中用_crtBreakAlloc调试内存泄漏
- Hibernate hql查询语句 Count:统计函数 Min:求最小值函数 Max:求最大值函数 Sum:求和函数 Avg:求平均数函数
- 2:宝昌县长要修路
- 外部多态(External-Polymorphism)
- Java之美[从菜鸟到高手演变]之常见的几种排序算法-插入、选择、冒泡、快排、堆排等 .
- 过滤器与Struts2中的拦截器学习