如何把一个本地文件读到一个byte[]数组里面去?

keikai 2002-11-12 10:58:00
难道要自己先设定一个bufferSize,再读???buffersize不够的时候,再重新分配?有没有现成的方法?
...全文
40 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qxjavajava 2002-11-12
import java.io.*;
class Example20_1
{ public static void main(String args[])
{ int b;
byte buffer[]=new byte[2500];//-------------here ..当然你可以设的大一些,恰到好处,更有价值。
try{ FileInputStream readfile=new FileInputStream("Example211.java");
b=readfile.read(buffer,0,2500);
try { String str=new String(buffer,0,b,"Default");
System.out.println(str);
}
catch(UnsupportedEncodingException e)
{ System.out.println(" the encoding was not found:"+e);
}
}
catch(IOException e)
{System.out.println("File read Error ");
}
}
}
回复
tomxutomxu 2002-11-12
FileInputStream fis = new FileInputStream(file);
byte[] b = new byte[256];
int l;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while((l=fis.read(b)) != -1){
bos.write(b,0,l);
}
fis.close();
return bos.toByteArray();
回复
tomxutomxu 2002-11-12
用FileInputStream 读文件,
写入ByteArrayOutputStream
再获得byte[]

回复
fastmask 2002-11-12
没有的,你只能先获取文件长度,然后new这么大空间,然后读
回复
发帖
Java SE
创建于2007-09-28

6.1w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2002-11-12 10:58
社区公告
暂无公告