Почему не проходят последние 2 пункта?
package com.javarush.task.task18.task1809;
/*
Реверс файла
*/
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<Integer> list = new ArrayList<>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String filename1 = reader.readLine();
String filename2 = reader.readLine();
FileInputStream f1 = new FileInputStream(filename1);
FileOutputStream f2 = new FileOutputStream(filename2);
while (f1.available()>0) {
int a = f1.read();
list.add(a);
}
for (int i = list.size(); i > -1; i--) {
f2.write(list.get(i));
}
f1.close();
f2.close();
}
}