如何在读取文件时删除填充作为字节

时间:2015-03-30 22:58:38

标签: java file

我有这个代码从文件中读取并返回一个字节数组:

public static byte[] getBytesFromFile(File file) throws IOException {        

 // Get the size of the file
   long length = file.length();

   // You cannot create an array using a long type.
   // It needs to be an int type.
   // Before converting to an int type, check
   // to ensure that file is not larger than Integer.MAX_VALUE.
   if (length > Integer.MAX_VALUE) {
       // File is too large
       throw new IOException("File is too large!");
   }

   // Create the byte array to hold the data
   byte[] bytes = new byte[(int)length];

   // Read in the bytes
   int offset = 0;
   int numRead = 0;

   InputStream is = new FileInputStream(file);
   try {
       while (offset < bytes.length
              && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
           offset += numRead;
       }
   } finally {
       is.close();
   }

   // Ensure all the bytes have been read in
   if (offset < bytes.length) {
       throw new IOException("Could not completely read file "+file.getName());
   }
   return bytes;
   }

有人可以解释如何在字节转换之前删除文件中的填充?

0 个答案:

没有答案