原文:InputStream类available和read方法读取流数据不全?

.问题描述 需要将流InputStream转换为byte 数组,定义的方法如下: 在对文件进行转换并保存到本地时,发现文件不完整或内容错误。 .原因分析 从代码中可以看出,在读物流时调用的是available方法,点击进入其源码发现其返回的是当前流可用长度 估计值 ,不是流的总长度。而在read方法读取流中数据到buffer中,但读取长度为 至buffer.length,若流结束或遇到异常则返回 ...

2021-12-19 16:15 0 812 推荐指数:

查看详情

InputStreamavailable()方法

InputStreamavailable()方法 这个方法可以在读写操作前先得知数据流里有多少个字节可以读取需要注意的是,如果这个方法用在从本地文件读取数据时,一般不会遇到问题,但如果是用于网络操作,就经常会遇到一些麻烦。比如,Socket通讯时,对方明明发来了1000个字 ...

Tue Feb 20 04:41:00 CST 2018 2 5810
关于InputStreamavailable()方法

要一次读取多个字节时,经常用到InputStream.available()方法,这个方法可以在读写操作前先得知数据流里有多少个字节可以读取。需要注意的是,如果这个方法用在从本地文件读取数据时,一般不会遇到问题,但如果是用于网络操作,就经常会遇到一些麻烦。比如,Socket通讯时,对方明明 ...

Fri May 13 00:17:00 CST 2016 3 34037
JAVA IO InputStream Read方法

read()首先我们来看这个没有参数的read方法,从(来源)输入流中(读取的内容)读取数据的下一个字节到(去处)java程序内部中,返回值为0到255的int类型的值,返回值为字符的ACSII值(如a就返回97,n就返回110).如果没有可用的字节,因为已经到达的末尾, -1返回的值 ...

Wed Feb 20 19:15:00 CST 2019 0 2110
Java中关于InputStreamavailable()方法

要一次读取多个字节时,经常用到InputStream.available()方法,这个方法可以在读写操作前先得知数据流里有多少个字节可以读取。需要注意的是,如果这个方法用在从本地文件读取数据时,一般不会遇到问题,但如果是用于网络操作,就经常会遇到一些麻烦。比如,Socket通讯时,对方明明发来 ...

Thu Apr 21 18:30:00 CST 2022 0 1328
InputStreamread()读取机制

InputStream.read()方法,就从输入流中读取一个字节的数据,并返回这个字节。如果读取内容到达文件末尾,那么就返回-1。 ...

Thu Aug 15 17:14:00 CST 2019 0 3334
InputStream中的read方法

int read() : 1.从读取读取的是一个一个字节 2.返回的是字节的(0-255)内的字节值 3.读一个下次就自动到下一个,如果碰到-1说明没有值了. int read(byte[] b) : int available():(慎用 ...

Tue Oct 22 02:22:00 CST 2019 0 558
InputStreamread方法

从输入流中读取数据最常用的方法基本上就是如下 3 个 read() 方法了:  1 、 read () 方法,这个方法 从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。如果因为已经到达末尾而没有可用的字节,则返回值 -1 。  2 、 read (byte[] b ...

Mon Feb 17 21:16:00 CST 2020 0 3202
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM