![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e36. Reading a File into a Byte ArrayThis example implements a method that reads the entire contents of a file into a byte array.See also e35 Reading Text from a File. // Returns the contents of the file in a byte array. public static byte[] getBytesFromFile(File file) throws IOException { InputStream is = new FileInputStream(file); // 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 } // Create the byte array to hold the data byte[] bytes = new byte[(int)length]; // Read in the bytes int offset = 0; int numRead = 0; while (offset < bytes.length && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) { offset += numRead; } // Ensure all the bytes have been read in if (offset < bytes.length) { throw new IOException("Could not completely read file "+file.getName()); } // Close the input stream and return bytes is.close(); return bytes; }
e35. Reading Text from a File e37. Writing to a File e38. Appending to a File e39. Using a Random Access File
© 2002 Addison-Wesley. |