当前位置: 代码迷 >> J2SE >> 用流读取了文件但是如何存到byte当中
  详细解决方案

用流读取了文件但是如何存到byte当中

热度:72   发布时间:2016-04-23 19:46:58.0
用流读取了文件但是怎么存到byte当中?
InputStream b = new FileInputStream(new File("D:\\User\\123.text"));
byte[] pdf = new byte[b];//这里会报错  请问一下怎么修改?  怎么也点不出fs的文件长度大小啊?
------解决思路----------------------

InputStream is = new FileInputStream(new File("D:\\User\\123.text"));
byte[] data = new byte[is.available()*2];
is.read(data)

is.available()是流中下一次可以无阻塞读取的字节数的估计值。
is.read(byte[] b)是从流中读取最多data.length()个字节。
------解决思路----------------------
使用java.io.ByteArrayOuputStream

InputStream is = new FileInputStream(new File("D:\\User\\123.text"));
ByteArrayOutputStream bos=new ByteArrayOutputStream();
byte[] b=new byte[8049];
int i=-1;
while((i=is.read(b))!=-1){
    bos.write(b,0,i);
}
byte[] arr=bos.toByteArray();//这个字节数组里面就是全部的内容了

  相关解决方案