Ваша проблема в том, что вы используете неправильный метод Сканера для извлечения строковых данных как из файла , так и пользователя .
Используйте Scanner # nextLine () вместо метода Scanner # next () и используют его вместе с методом Scanner # HasNextLine () вВаше состояние while (вместо метода Scanner # hasNext () ):
String newInput = scanner.nextLine();
Использование сканера # nextLine () метод, в котором вы запрашиваете имя файла и запрашиваете, что добавить в файл !.Также используйте его в цикле while для чтения файла (в сочетании с методом Scanner # hasNextLine () ).Внимательно прочитайте о различиях между всеми этими методами!
Scanner # hasNext () и Scanner # next () методы более ориентированы на слова Ситуации на основе токенов (слов)(по одному слову за раз), тогда как методы Scanner # hasNextLine () и Scanner # nextLine () используются для целых строковых строк.Это то, что я вам верю действительно хочу.
Другие примечания:
Возможно, вы захотите удалить пробел после последних косых черт(//):
"C://Meine Dateien// " + fileName + ".txt";
если, конечно, вы не хотите, чтобы t0 добавлял пробел в начале каждого имени для каждого файла, создаваемого вашим приложением.
При использовании логических переменныхв таких условиях, как в if операторов, вы можете просто использовать:
if (myFile.exists()) { // IF true
вместо:
if (myFile.exists() == true) { // IF true
и:
if (!myFile.exists()) { // IF false
вместо:
if (myFile.exists() == false) { // IF false
Любой способ работает просто отлично, но позже вы обнаружите, что более короткий путь менее подвержен ошибкам из-за опечаток, и я думаю, что его легче читать, но это только мое мнение.
Не забудьте закрыть файл reader .Используйте Попробуйте с ресурсами , чтобы позаботиться о таких вещах для вас в отношении как вашего читателя, так и писателя.