ПОЧЕМУ ВОЗВРАЩАЕТСЯ Object? как получить назад массив? (см. комментарий)
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String fileName;
TreeMap<String, byte[]> map = new TreeMap<>();
FileInputStream input;
String key = null;
byte[] buffer;
Pattern p;
String newName = null;
String fName = null;
while (!(fileName = r.readLine()).equals("end")) {
input = new FileInputStream(fileName);
buffer = new byte[input.available()];
input.read(buffer);
p = Pattern.compile("\\.part\\d+$");
Matcher m = p.matcher(fileName);
if (m.find()) {
key = m.group();
}
map.put(key, buffer); //помещаем ключ и массив
key = null;
buffer = null;
input.close();
if (!fileName.equals("end")) fName = fileName;
}
r.close();
Pattern p2 = Pattern.compile(".+?(?=\\.part\\d+$)");
//System.out.println(fName);
Matcher m2 = p2.matcher(fName);
if (m2.find()){
newName = m2.group();
//System.out.println(newName + " ");
}
File file = new File(newName);
file.createNewFile();
FileOutputStream out = new FileOutputStream(newName);
for(Map.Entry e: map.entrySet()){
Object[] objects = (Object[])e.getValue(); //ПОЧЕМУ ВОЗВРАЩАЕТСЯ Object? как получить назад массив? ClassCastException: [B cannot be cast to [Ljava.lang.Object;
byte[] b = (byte []) objects[0];
out.write(b);
}
out.close();
}