4.5.3.1InputStream和OutPutStream

本文详细介绍了Java中的输入流(InputStream)和输出流(OutputStream)的基本概念及常用方法,包括读写字节、跳过字节、标记重置等功能,并探讨了使用缓冲区对程序效率的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

h4 { margin-top: 0.49cm; margin-bottom: 0.51cm; line-height: 156%; page-break-inside: avoid; }h4.western { font-family: "Arial",sans-serif; font-size: 14pt; }h4.cjk { font-family: "黑体","SimHei"; font-size: 14pt; }h4.ctl { font-family: "DejaVu Sans"; font-size: 14pt; }p { margin-bottom: 0.21cm; }a:link { color: rgb(0, 0, 255); }

 

InputStream

程序可以从中连续读取字节的对象叫做输入流,在java 中,用InputStream 描述所有流的抽象概念 他是一个抽象类

abstract  int

read ()
          
从输入流读取下一个数据字节。

 int

read (byte[] b)
          
从输入流中读取一定数量的字节并将其存储在缓冲区数组 b 中。如果一个都没读到就返回-1

 int

read (byte[] b, int off, int len)
          
将输入流中最多 len 个数据字节读入字节数组。 没读到返回-1

 long

skip (long n)
          
跳过和放弃此输入流中的 n 个数据字节。 这是用在包装类的一个函数

 int

available ()
          
返回此输入流方法的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数。 一般用作检查流是否有数据可读

 void

mark (int readlimit)
          
在此输入流中标记当前的位置。 用于包装类

 void

reset ()
          
将此流重新定位到对此输入流最后调用 mark 方法时的位置。 用于包装类

 boolean

markSupported ()
          
测试此输入流是否支持 mark reset 方法。

 void

close ()
          
关闭此输入流并释放与该流关联的所有系统资源。

 

 

OutputStream

程序可以向其中连续写入字节的对象叫输出流,在java 中,用OutputStream 类来描述所有输出流的抽象概念 输出流都要实现此接口

 void

close ()
          
关闭此输出流并释放与此流有关的所有系统资源。

 void

flush ()
          
清空此输出流并强制写出所有缓冲的输出字节。

 void

write (byte[] b)
          
b.length 个字节从指定的字节数组写入此输出流。

 void

write (byte[] b, int off, int len)
          
将指定字节数组中从偏移量 off 开始的 len 个字节写入此输出流。

abstract  void

write (int b)
          
将指定的字节写入此输出流。

 

使用缓冲区会提供程序运行的效率 但会降低单个程序运行的效率

记录日志文件不要使用缓冲区 因为如果程序崩溃 缓冲区的数据有可能没有写入到硬盘上

只有使用的缓冲区的类才能使用 flush 方法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值