Java FileInputStream Read readFileBytes(String fileName)

Here you can find the source of readFileBytes(String fileName)

Description

read File Bytes

License

Open Source License

Declaration

public static final byte[] readFileBytes(String fileName) throws IOException 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.io.File;
import java.io.FileInputStream;

import java.io.IOException;
import java.io.InputStream;

public class Main {
    public static final byte[] readFileBytes(String fileName) throws IOException {

        File file = new File(fileName);

        // 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) {
            throw new IOException("File " + fileName + " is too large");
        }//from   w  w  w.ja  va  2s.  co m

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

        // Read in the bytes
        int offset = 0;
        int numRead = 0;
        try (InputStream is = new FileInputStream(fileName)) {
            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 " + fileName);
            }
        }
        return bytes;
    }
}

Related

  1. readFileBinary(String filename)
  2. readFileBytes(File file)
  3. readFileBytes(File file)
  4. readFileBytes(String file)
  5. readFileBytes(String filename)
  6. readFileBytes(String filePath)
  7. readFileEndAsString(File file, int size_limit)
  8. readFileEx(String... file)
  9. readFileFully(File file)