How do I read a file into byte array?



public class ReadFileIntoByteArray {
    public static void main(String[] args) throws IOException {
        File file = new File("Hello.txt");
        try (InputStream is = new FileInputStream(file)) {
            if (file.length() > Integer.MAX_VALUE) {
                throw new IOException("File is too large.");

            int offset = 0;
            int bytesRead;
            byte[] bytes = new byte[(int) file.length()];
            while (offset < bytes.length
                && (bytesRead =, offset, bytes.length - offset)) >= 0) {
                offset += bytesRead;

How do I convert InputStream to String?

This example will show you how to convert an InputStream into String. In the code snippet below we read a data.txt file, could be from common directory or from inside a jar file.



public class StreamToString {

    public static void main(String[] args) throws Exception {
        StreamToString demo = new StreamToString();

        // Get input stream of our data file. This file can be in
        // the root of you application folder or inside a jar file
        // if the program is packed as a jar.
        InputStream is = demo.getClass().getResourceAsStream("/data.txt");

        // Call the method to convert the stream to string

    private String convertStreamToString(InputStream stream) throws IOException {
        // To convert the InputStream to String we use the
        //[] buffer) method. We iterate until the
        // Reader return -1 which means there's no more data to
        // read. We use the StringWriter class to produce the string.
        if (stream != null) {
            Writer writer = new StringWriter();

            char[] buffer = new char[1024];
            try {
                Reader reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
                int n;
                while ((n = != -1) {
                    writer.write(buffer, 0, n);
            } finally {
            return writer.toString();
        return "";