Для меня этот код абсолютно ничего не делает, кроме как много ошибок времени компиляции.
Прежде всего, ваше имя класса FileReader конфликтует с java.io.FileReader, поэтому ваш вызов
new FileReader(this.openFile);
на самом деле пытается создать экземпляр ВАШЕГО класса FileReader (для которого нет конструктора, который принимает одну строку), а не java.io.FileReader
Кроме того, этот openFR объявлен как FileReader (ваш FileReader не java.io.FileReader), поэтому вызов
open = new BufferedReader(openFR);
также завершается ошибкой, поскольку BufferedReader ожидает объект java.io.FileReader.
Ваш конструктор для FileReader не объявляет типы аргументов:
FileReader(openFile, saveFile) {
this.openFile=openFile;
this.saveFile=saveFile;
}
должно быть:
FileReader(String openFile, String saveFile) {
this.openFile = openFile;
this.saveFile = saveFile;
}
Итак, что делает программа после исправления этих ошибок:
Он пытается скопировать файл, прочитав все строки из openFile и записав их в saveFile.
Что он на самом деле делает:
Считывает первую строку из файла и удаляет ее. Входит в цикл, где он продолжает читать строки и увеличивать счетчик (что также неверно, поскольку он никогда не включает в себя первую строку в счетчике, если только целью не является игнорирование первой строки ???). Затем он записывает пустую строку в saveFile для каждой строки в openFile (минус первая строка). Вы также никогда ничего не делаете со значением счетчика, так какой смысл считать его?