Example #1
0
 /** 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */
 public static void readFileByBytes(String fileName) {
   File file = new File(fileName);
   InputStream in = null;
   try {
     log.debug("以字节为单位读取文件内容,一次读一个字节:");
     // 一次读一个字节
     in = new FileInputStream(file);
     int tempbyte;
     while ((tempbyte = in.read()) != -1) {
       System.out.write(tempbyte);
     }
     in.close();
   } catch (IOException e) {
     log.error("", e);
     return;
   }
   try {
     log.debug("以字节为单位读取文件内容,一次读多个字节:");
     // 一次读多个字节
     byte[] tempbytes = new byte[100];
     int byteread = 0;
     in = new FileInputStream(fileName);
     ReadFromFile.showAvailableBytes(in);
     // 读入多个字节到字节数组中,byteread为一次读入的字节数
     while ((byteread = in.read(tempbytes)) != -1) {
       System.out.write(tempbytes, 0, byteread);
     }
   } catch (Exception e) {
     log.error("", e.fillInStackTrace());
   } finally {
     if (in != null) {
       try {
         in.close();
       } catch (IOException e) {
         log.error("", e.fillInStackTrace());
       }
     }
   }
 }