InputStream.read、OutputStream.write、二进制文件读写及文件流末尾判断

InputStream.read、OutputStream.write、二进制文件读写及文件流末尾判断_liuhongbin2007_新浪博客

InputStream.read、OutputStream.write、二进制文件读写及文件流末尾判断
(2011-01-03 20:38:46)
转载▼
标签:
杂谈
    分类: 技术
原文地址:
InputStream.read、OutputStream.write、二进制文件读写及文件流末尾判断
http://shuiranyue.blog.163.com/blog/static/42199034200910115441926/

InputStream.read、OutputStream.write、Reader.read、Writer. write区别
http://jiangzhengjun.javaeye.com/blog/510977

KAI Square工程师陈易凡email指点:
您的代码看起来不正确。JPEG是binary数据,
但您采用的BufferedReader及FileWriter仅适合用在character数据上。在InputStreamReader把binary数据转为character数据的过程中,有些原有的binary数据将会丧失。因此,您应该从httpResponse.getEntity().getContent()这个InputStream把binary数据直接读出来,再由FileOutputStream把数据写入文件里。

Android 服务器JPEG图片文件接收:
 File outFile = new File("/sdcard/pic/tmp.jpg");
            FileOutputStream fos = new FileOutputStream(outFile);
            try {
                   InputStream is = httpResponse.getEntity().getContent();
                   byte[] byteArr = new byte[1024];
                   //读取的字节数
                   int readCount = is.read(byteArr);
                   //如果已到达文件末尾,则返回-1
                   while (readCount != -1) {
                       fos.write(byteArr, 0, readCount);
                       readCount = is.read(byteArr);
                   }
                   is.close();
                   fos.flush();
                   fos.close();
            }catch(IOException e){
                e.printStackTrace();
            }
原文地址:https://www.cnblogs.com/lexus/p/2797576.html