Итак, я пытаюсь прочитать ввод из текстового файла, сохранить его в переменных, а затем вывести измененную версию этого текста в другой файл, используя переменную из файла.Я использую Filereader, Scanner и Printwriter, чтобы сделать это.Я должен сохранить последнюю строку (это число) из этого текстового документа и использовать это число, чтобы умножить текстовое тело на другой файл, не включая число.
Таким образом, текст: Исходный текст файла
И вывод ПРЕДПОЛАГАЕТСЯ быть: желаемый вывод
Я могу получить число и сохранить его в моей переменной множителя иизвлеките текст в мою строку, НО он сохраняется в виде одной строки, если я проверим внутри консоли: как хранится текст, видимый через консоль
, поэтому он выводит вот так в новом файле: нежелательный вывод
Я довольно новичок в Java, извините, если есть вопросы, на которые я не могу ответить, которые могут помочь решить любые проблемы с моим кодом.
Я попытался добавить +"\n"
в строку вывода файла, но без кубиков.Я также попытался добавить его в words + = keys.nextLine () +"\n"
, и он разделяет строки в CONSOLE, но, к сожалению, не в самом файле.Я хотя бы на правильном пути?
Вот мой код:
public class fileRead {
public static void main(String[] args) throws IOException{
String words = "" ; //Stores the text from file
int multiplier = 1; // Stores the number
FileReader fr = new FileReader("hw3q3.txt");
Scanner keys = new Scanner(fr);
//while loop returns true if there is another line of text will repeat and store lines of text until the last line which is an int
while(keys.hasNextLine())
if (keys.hasNextInt()) { //validation that will read lines until it see's an integer and stores that number
multiplier = keys.nextInt(); //Stores the number from text
} else {
words += keys.nextLine();//Stores the lines of text
keys.nextLine();
}
keys.close();
PrintWriter outputFile = new PrintWriter("hw3q3x3.txt");
for(int i = 1; i <= multiplier; i++) {
outputFile.println(words);
}
outputFile.close();
System.out.println("Data Written");
System.out.println(multiplier);//just to see if it read the number
System.out.println(words); //too see what was stored in 'words'
}
}