import java.io.*; public class ByteFileReader { public static void main(String[] args) throws Exception { String fileName = "com/demo/io/test.txt"; ByteFileReader r = new ByteFileReader(); byte[] bytes = r.getBytesFromFile(new File(fileName)); System.out.printf("Read %d bytes from file %s:\n", bytes.length, fileName); System.out.write(bytes, 0, bytes.length); } public byte[] getBytesFromFile(File file) throws IOException { if (! file.exists()) { return null; } // get the size of the file long length = file.length(); if (length > Integer.MAX_VALUE) { throw new IOException( String.format( "The file %s is too large to be hold in a byte array", file.getName() ) ); } int len = (int) length; byte[] bytes = new byte[len]; InputStream in = new FileInputStream(file); // read in the bytes int offset = 0, n = 0; while (offset < len && n >= 0) { n = in.read(bytes, offset, len - offset); offset += n; } if (offset < len) { throw new IOException("Faile to read all contents of file: " + file.getName()); } in.close(); return bytes; } }
A java blog with a collection of examples and tutorials on Java and related technologies. (Under maintenance with continuous updates) Be in touch with java jazzle or k2java.blogspot.com.
Monday, April 25, 2011
Java read file as byte array
Labels:
byte array,
IO / Input Output,
java,
java.io,
java.io.File,
read/write
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment