用一个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文件的字样)                               请教大家,如何才能正确的生成二进制编码文件呢?                谢谢了