Нужна хелпа от знающих. Объясните почему вот так валидатор пропустил:
Set<String> strSet = new TreeSet<>();
        strSet.addAll(strArr);
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(fileName)));
        for (String s: strSet){
            FileInputStream fis = new FileInputStream(s);
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            bos.write(buffer);
            fis.close();

        }
        bos.close();
А вот так нет:
Set<String> strSet = new TreeSet<>();
        strSet.addAll(strArr);
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(fileName), true));
        for (String s: strSet){
            BufferedInputStream bis = new BufferedInputStream(new FileInputStream(s));
            bos.write(bis.read());
            bis.close();
        }
        bos.close();
А вообще меня больше всего интересует законность вот этой вот строчки:
bos.write(bis.read());