2016 - 2024

感恩一路有你

bytearrayinputstream编码 ByteArrayInputStream能转换成FileInputStream么?

浏览量:2244 时间:2021-03-13 08:47:03 作者:admin

ByteArrayInputStream能转换成FileInputStream么?

1. 将文件和FileInputStream转换为字节数组:file file=new file()文件.txt“”)InputStream input=new FileInputStream(文件)byte[]byt=new byte[input.available可用()] 输入.读取(字节)

2。将字节数组转换为InputStream:byte[]byte=new byte[1024]InputStream input=new bytearrayinputstream(byte)

关于java的inputStream究竟一次会读多少byte?

InputStream有多种不同参数的读取方法。如果直接读取(),那么如果使用read(byte[],则只能读取一个字节,这取决于参数数组的长度和读取量。如果流中没有足够的数据,那么读取的数据量是多少如果读取(byte[],offset,length)更复杂,它最多可以读取长度为字节的数据。有关详细信息,请参阅JDK API文档

如果必须使用fileoutputstream,则没有办法,因为fileoutputstream属于较低级别的流,并且所有构造方法都与文件关联。但是,如果您想写入blob,那么使用fileoutputstream有点多余。正如您所做的,在写入和读取文件之后,它也是一个字节数组。因此可以直接使用OutputStream的write(byte[]B,int off,int len)方法。关闭开始标志通常设置为0,长度偏移量一般设置为字节的长度大小

代码如下

FileInputStream instream=new FileInputStream(filename)

byte[]k=new byte[1024*1024*20

]int bloblength=流内读取(k)

byte[]blobparam=新字节[bloblength

]instream=新文件输入流(文件名)流内读取(blobparam,0blobparam.length参数)

byte[]数组如何转换成fileInputStream?

Java中的I/O机制基于数据流进行输入和输出。将数据流转换成字节数组并保存是数据流传输的重要组成部分。转换代码如下(具体场景需要处理流关闭问题)

public static byte[]tobytearray(InputStream input)抛出IOException{

bytearrayoutputstream output=new bytearrayoutputstream()

byte[]buffer=new byte[1024*4

]int n=0

while(-1!=(n=输入.读取(缓冲区){输出.写入(缓冲区,0,n)

}

返回output.toByteArray输出.toByteArray()

}

bytearrayinputstream编码 byte转成fileinputstream javascriptjavascript少女

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。