Есть такие блоки кода:
@Override // Для вывода содержимого файла
public void Read() throws FileNotFoundException {
Scanner KFileScanner = new Scanner(Kfile);
for (String Str : KFileScanner.next().split("/")) {
System.out.println(Str);
}
KFileScanner.close();
}
@Override // Для записи в файл
public void Write() throws IOException {
PrintWriter pw = new PrintWriter(new FileWriter(Kfile, true));
Scanner InputFile = new Scanner(System.in);
String InputText = InputFile.nextLine();
pw.println(InputText + "/");
pw.close();
}
Я в конце каждой введенной строки добавляю /
и пытаюсь вывести содержимое файла разделяя(имеется ввиду перенося на новую строку) этим слешом. Для лучшего понимания, покажу с скринами:
Я хочу, вывести эти две строки как есть, с их переносом и пробелами, т.е. в консоли после вывода должно быть так:
name lastName lastLastName
home lastHome lastLastHome
А выводит как видите только первое слово name
и завершается.
Каким образом написать метод Read()
чтобы он выводил содержимое файла перенося строку в нужном месте?
Остальной код здесь, он небольшой только 56 строк
.next()
читает до первого пробела, т.е. только первое слово. Читайте сразу строками с помощью .nextLine()
, тогда и слэш не понадобится (хотя он и так не нужен, как правильно в комментарии написали).
Или же вам нужно читать через .next()
в цикле до тех пор, пока файл не закончится. Тогда можно и со слэшем, если так нужно.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Задача: 1) ввести 10 цифр с клавиатуры, 2) вывести длину самой длинной последовательности повторяющихся чисел в списке
Я начинающий Android разработчик и пытаюсь устроиться на работуНа одном из собеседованиях мне дали тестовое задание: