Search code examples
javamp3arrays

how to read data from byte array from java


i convert a mp3 file into byte array and i read from byte array but it shows null pointer exception on line number 15 my code:

public class MainClass {
    static byte[] bytesarray = null;

    public static void main(String args[]) {
        try {
            FileInputStream fis = new FileInputStream("D:\\taxi.mp3");
            try {
                fis.read(bytesarray, 0, 32);
                System.out.println(bytesarray.length);
            } catch (IOException e) {
                e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

        ByteArrayInputStream in = new ByteArrayInputStream(bytesarray);
        for (int i = 0; i < 32; i++) {
            int c;
            while ((c = in.read()) != -1) {
                if (i == 0) {
                    System.out.print((char) c);
                } else {
                    System.out.print(Character.toUpperCase((char) c));
                }
            }
            System.out.println();

        }
    }
}

Solution

  • static byte[] bytesarray = new byte[32]; should do the work, you didn't initialize your array...

    See the documentation of read.