用一个InputStream对象读入一张bmp图片,再将InputStream对象里读取数据生成byte[]数组但用PrintWriter对象和ObjectOutputStream对象生成的文件不正确,具体代码如下: //方法一: PrintWriter fout=null; fout=new PrintWriter(new FileOutputStream(path+name)); int max=in.available();//in是已经读取的了图片内容的InputStream对象 byte[] buf=new byte[max]; in.read(buf); int i=0; while(i<max) { fout.print(buf[i]); i++; } //方法二: ObjectOutputStream oout=null; oout=new ObjectOutputStream(new FileOutputStream(path+name)); oout.write(buf); 结果两个方法所生成的文件皆是不正确的图片文件,拿记事本察看了一下,果然开头不是BM(标识bmp文件的字样) 请教大家,如何才能正确的生成二进制编码文件呢? 谢谢了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货