try{
        FileInputStream fis = new FileInputStream(file1);
        BufferedInputStream bis = new BufferedInputStream(fis);
        bis.read(binaryData1);
        bis.close();
        fis.close();
        fis = new FileInputStream(file2);
        bis = new BufferedInputStream(fis);
        bis.read(binaryData2);
        bis.close();
        fis.close();

        byte[] outputBinary = new byte[(int)(binaryData1.length+binaryData2.length-44)];
        System.arraycopy(binaryData1,0, outputBinary, 0, binaryData1.length);
        System.arraycopy(binaryData2,44, outputBinary, binaryData1.length, binaryData2.length-44);

        int fileSize = outputBinary.length-8;
        outputBinary[4]=(byte)(fileSize & 0xff);
        outputBinary[5]=(byte)((fileSize >>> 8)&0xff);
        outputBinary[6]=(byte)((fileSize >>> 16)&0xff);
        outputBinary[7]=(byte)((fileSize >>> 24)&0xff);

        int fileData = outputBinary.length-44;
        outputBinary[4]=(byte)(fileData & 0xff);
        outputBinary[5]=(byte)((fileData << 8)&0xff);
        outputBinary[6]=(byte)((fileData << 16)&0xff);
        outputBinary[7]=(byte)((fileData << 24)&0xff);

2つのwavファイルを結合させるプログラムを作っているのですが、一つ目の音声ファイルを再生し終えると再生が止まってしまいます。ファイルデータの更新がないことに気がついたのですが、どのように直したらいいでしょうか。