Я делаю ввод / вывод для печати текстового файла. Моя цель - прочитать текст, а затем вывести текстовый файл в обратном порядке (Пример 1, 2, 3, 4> 4, 3, 2, 1). У меня есть массив вниз и для l oop вниз, но я не могу получить массив txt для печати в обратном порядке? Это дает мне сообщение об ошибке, строка не найдена? Я думаю, мне нужно, чтобы вернуться к началу текста, чтобы прочитать, но я не уверен, как? Заранее благодарю за любую помощь!
СООБЩЕНИЕ ОБ ОШИБКЕ: Исключение в потоке "main" java .util.NoSuchElementException: На java .base / java .util не найдено ни одной строки. Scanner.nextLine (Scanner. java: 1651)
КОД НИЖЕ:
publi c назначение класса {
publi c stati c void main (String [] args) {
String inputFileName = "SadMachineLyrics.txt";
File inputLyricsFH = new File(inputFileName);
String outputFileName = "outputAssignment13";
File outFH = new File(outputFileName);
try {
Scanner reader = new Scanner(inputLyricsFH);
String line = "";
FileWriter outFW = new FileWriter(outFH, false);
int countLines = 0;
while (reader.hasNextLine()) {
line = reader.nextLine();
countLines++;
}
System.out.println("The text file has " + countLines + " lines.");
String[] lyrics = new String[countLines];
for (int i = lyrics.length - 1; i >= 0; i--) {
System.out.println(lyrics[i] + "");
}
line = reader.nextLine();
System.out.println("The first line of text is: " + line);
outFW.close();
System.out.println("Program done");
}
catch (IOException ioe) {
System.out.println("ERROR: Couldn't write to the file!");
}
}}