java输入流从指定字节读取,Java输入输出流(字节流).ppt

Java输入输出流(字节流)

Java输入/输出处理(一) Java输入输出流 I/O流概述 大部分程序都需要输入/输出处理,比如从键盘读取数据、向屏幕中输出数据、从文件中读或者向文件中写数据、在一个网络连接上进行读写操作等。在Java中,把这些不同类型的输入、输出源抽象为流(Stream),而其中输入或输出的数据则称为数据流(Data Stream),用统一的接口来表示,从而使程序设计简单明了。 按照流所处理的数据类型划分,可以分为: 字节流:用于处理字节数据。 字符流:用于处理Unicode字符数据。 I/O流概述 流一般分为输入流(Input Stream)和输出流(Output Stream)两类,但这种划分并不是绝对的。比如一个文件,当向其中写数据时,它就是一个输出流;当从其中读取数据时,它就是一个输入流。当然,键盘只是一个输入流,而屏幕则只是一个输出流。 两种基本的流:输入流和输出流 输入流:只能从中读取字节数据,而不能向其写出数据 输出流:只能向其写入字节数据,而不能从中读取数据 输入流:数据提供者,可从中读取数据出来 输出流:数据接收者,可往其中写数据 在Java开发环境中,主要是由包java.io中提供的一系列的类和接口来实现输入/输出处理。标准输入/输出处理则是由包java.lang中提供的类来处理的,但这些类又都是从包java.io中的类继承而来。 I/O流概述 在JDK1.1之前,java.io包中的流只有普通的字节流(以byte为基本处理单位的流),这种流对于以16位的Unicode码表示的字符流处理很不方便。 从JDK1.1开始, java.io包中加入了专门用于字符流处理的类(以Reader和Writer为基础派生的一系列类)。 另外,为了使对象的状态能够方便地永久保存下来, JDK1.1以后的java.io包中提供了以字节流为基础的用于对象的永久化保存状态的机制——对象流(通过实现ObjectInput和ObjectOutput接口)。 节点流和处理流 可以从/向一个特定的IO设备(如磁盘、网络)读/写数据的流,称为节点流。节点流也被称为低级流。 实现对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功能的流,称为处理流。处理流也被称为高级流。 字节流 字符流 文件操作协同类 File FileDescriptor RandomAccessFile java.awt.FileDialog 字节流InputStream/OutputStream InputStream/OutputStream用于处理字节数据。它们读/写流的方式都是以字节为单位进行的。 Java中每一种字节流的基本功能依赖于基本类InputStream和OutputStream,它们是抽象类,不能直接使用 字节流---InputStream基本方法 属于InputStream的基本方法有: void close():关闭流。 int available():返回可以从中读取的字节数。 long skip(long n):在输入流中跳过n个字节,将实际跳过的字节数返回。 boolean markSupported():判断流是否支持标记功能。 void mark(int readlimit):在支持标记的输入流的当前位置设置一个标记。 void reset():返回到流的上一个标记。注意必须流支持标记功能 字节流---InputStream基本方法 方法read()提供了三种从流中读数据的方法: int read():从输入流中读一个字节,形成一个0~255之间的整数返回(是一个抽象方法)。 int read(byte b[]):读多个字节到数组中,填满整个数组。 int read(byte b[], int off, int len):从输入流中读取长度为len的数据,写入数组b中从索引off开始的位置,并返回读取得字节数。 返回-1,表明流结束,否则,返回实际读取的字节数 字节流---InputStream类层次 字节流---OutputStream 属于OutputStream类的方法有: write(int b):将一个整数输出到流中(只输出低位字节,为抽象方法) write(byte b[]):将字节数组中的数据输出到流中 write(byte b[], int off, int len):将数组b中从off指定的位置开始,长度为len的数据输出到流中 flush():刷空输出流,并将缓冲区中的数据强制送出 close():关闭流 字节流---文件流 字节流---文件流 FileInputStream类用来打开一个输入文件,若要打开的文件不存在,则会产生异常Fil

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值