подскажити что не так в этом решении, не проходит даже по считыванию имен файлов
package com.javarush.task.task18.task1825;
import java.io.*;
import java.util.*;
/*
Собираем файл
*/
public class Solution {
public static class Co implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
if (o1.length() != o2.length())
return o1.toCharArray().length - o2.toCharArray().length;
else return o1.compareTo(o2);
}
}
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList();
String fileName = bf.readLine();
File file = new File(fileName);//файл который первый ввели в консоль
String pathFinalFile = fileName.substring(0, fileName.lastIndexOf("."));//почему то beginIndex не светится и сюда нужно записывать инфу
File finalFile = new File(file.getParent() + "/" + pathFinalFile);//финальный файл с путём и именем указали
finalFile.createNewFile();//создали финальный фаил
list.add(fileName);
while (!fileName.equals("end")) {
fileName = bf.readLine();
list.add(fileName);
}
//считали и заполнили лист именами файлов, а также определили имя финального файла
Collections.sort(list, new Co()); //сортировка
FileOutputStream fos = new FileOutputStream(pathFinalFile, true); //определили поток для записи в финал файл
for (String s : list) {
FileInputStream fis = new FileInputStream(s);
byte[] bufer = new byte[fis.available()];
if (fis.available() > 0) {
fis.read(bufer);
fis.close();
}
fos.write(bufer);
fos.flush();
}
fos.close();
// file.getPath();
// File file2 = new File(file.getParent());
//String s = "Lion.avi.part1";
// System.out.println(s.substring(0,s.lastIndexOf(".")));
// System.out.println(s.lastIndexOf("."));
//File file = new File("c:/test/fos3.txt");
//File file2 = new File( file.getParent()+"/createdFile.txt");
//if(file.exists()) {
// System.out.println(file.getPath());
// System.out.println(file.getParent());
// System.out.println(file2.createNewFile());
//}
// ArrayList<String> list = new ArrayList();
// list.add("Lion.avi.part37");
// list.add("Lion.avi.part1");
// list.add("Lion.avi.part3");
// list.add("Lion.avi.part222");
// list.add("Lion.avi.part15");
// list.add("Lion.avi.part2");
//
//
// Collections.sort(list, new Co());
//
// System.out.println(list);
}
}