`
chinagdvea
  • 浏览: 127204 次
  • 性别: Icon_minigender_1
  • 来自: 韶关
社区版块
存档分类
最新评论

InputStream\OutputStream\Reader\Writer

阅读更多
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);
分享到:
评论

相关推荐

    java 文件存储 Inputstream outputstream reader writer的用法

    当你还是一个java初学者的时候,是不是还在为你没有一个好的源代码模仿去学习而烦恼,这个代码很容易看懂,对你学习很有帮助

    java io 类 小结 代码

    InputStream OutputStream Reader Writer FileInputStream FileOutputStream FileReader FileWriter InputStreamReader OutputStreamWriter BufferedReader BufferedWriter PrintWriter ...

    JAVA IO流技术

    输入流:数据源到程序(InputStream、Reader读进来) 输出流:程序到目的地(OutPutStream、Writer写出去) 处理数据单元: 字节流:按照字节读取数据(InputStream、OutputStream) 字符流:按照字符读取数据(Reader...

    10.尚硅谷_java基础_IO

    IO 概述 File 类 IO 流分类 InputStream & Reader OutputStream & Writer RandomAccessFile 类 对象的序列化

    JAVA的IO流总结

    java的IO流总结:包含Inputstream,OutputStream,writer和reader

    ioliu.rar_IO流 java_Java Reader Writer_java IO_stream

    * io流 运用 * 注意:只要子类 包含以下类名字的,就是该... * InputStream----- 输入字节流 * Reader-------- 输入字符流 * OutputStream-----输出字节流 * Writer --------输出字符流

    Java 基础核心总结 +经典算法大全.rar

    基础 IO 类和相关方法InputStream OutputStream Reader 类Writer 类 InputStream 及其子类 OutputStream 及其子类Reader 及其子类Writer 及其子类 注解 关于 null 的几种处理方式大小写敏感 null 是任何引用类型的...

    Java程序设计和实战 新东方Java教程及源代码

    流的概述 流的分类 InputStream/OutputStream Reader/Writer 流的几种典型流向 RandomAccessFile的用法 Zip格式文件的压缩/解压 新东方java教程

    轻松学Java之Java的输入输出流优秀PPT.pptx

    这两种流主要由四个抽象类来表示:InputStream、OutputStream、Reader、Writer,输入输出各两种。其中InputStream和OutputStream表示字节流,Reader和Writer表示字符流,其他流均是继承这四个抽象类而来的。 在Java...

    java流详细介绍

    java流详细介绍,inputstream,outputstream,reader,writer。

    新东方Java流教程

    InputStream/OutputStream Reader/Writer 流的几种典型流向 RandomAccessFile的用法 Zip格式文件的压缩/解压 GZip格式文件的压缩/解压 Jar格式文件的压缩/解压 NIO概述 Buffer的用法 Channel Charset 文件锁

    Day20IO流.md

    =分类: 方向 单位== ==单位 方向 输入流 输出流== ==字节流 InputStream OutputStream 主要用来对影像文件或者媒体== ==字符流 Reader Writer 主要用来对文本文件进行操作==

    IO流各个类的使用方法

    InputStream OutputStream FileInputStream FileOutputStream DataInputStream DataOutputStream BufferedInputStream BufferedOutputStream ObjectInputStream ObjectOutputStream ByteArrayInputStream ...

    Java中IO流知识点总结

     读取流:InputStream Reader  写出流:OutPutStream Writer  2、按流的类型分类  字节流:InputStream OutputStream  字符流:Reader Writer  二、流功能分析  读取流是从输入设备或数据对象中读取...

    JavaIO总结.pdf

    四个基本的类是InputStream、OutputStream、Reader和Writer,这四个类是流分类的根源。InputStream和OutputStream是字节流,Reader和Writer是字符流。 字节流是最基本的流,文件的操作、网络数据的传输等等都依赖于...

    廖雪峰 Java 教程.doc

    OutputStream Filter模式 操作Zip 读取classpath资源 序列化 Reader Writer PrintStream和PrintWriter 日期与时间 基本概念 Date和Calendar LocalDateTime ZonedDateTime DateTimeFormatter Instant ...

    java学习笔记--PrintStream分享.pdf

    InputStreamReader/OutputStreamWriter是InputStream/OutputStream和Reader/Writer之间的桥梁。 PrintStream和PrintWriter都是用于输出数据的流,但是它们之间存在一些区别。PrintStream主要用于将数据输出至...

    JavaIO流详解归纳.pdf

    Java 的 IO 体系分 Input/Output 和 Reader/Writer 两类,区别在于 Reader/Writer 在读写文本时能自动转换内码。 InputStream 是 Java 中的基础输入流,所有的输入操作都是基于这个流的。OutputStream 是 Java 中的...

    java语言程序设计郑莉PPT课件.pptx

    10. 预定义的I/O流类:Java语言提供了多种预定义的I/O流类,例如InputStream、OutputStream、Reader和Writer等,程序可以使用这些类来实现输入/输出流的操作。 该资源提供了Java语言程序设计中输入/输出流和文件...

    java基础核心总结归纳---参考手册--心得手册-学习资料-总结经验

    1 Java 概述 3 1.1 Java 定义 3 1.2 Java 的特点 3 1.3 Java 开发环境 5 ...OutputStream 及其⼦类 27 Reader 及其⼦类 28 Writer 及其⼦类 28 注解 28 关于 null 的⼏种处理⽅式 29 null 是任何引⽤类型的初始值 29

Global site tag (gtag.js) - Google Analytics