Есть ли способ для FileWriter.write () продолжить запись строк после пробелов во время выполнения? - PullRequest
0 голосов
/ 08 февраля 2019

Когда я пытаюсь запустить этот фрагмент,

import java.io.*;
import java.util.Scanner;
import static java.lang.System.*;

class  CSWrite1
{
    public static void main(String[] args) throws IOException
    {
        Scanner input = new Scanner(in);
        out.print("Enter the filename\t>"); 
        String file = input.next();
        out.println("Enter the text");
        String text = input.next();  // IN:"Hello, How are you" --> "Hello,

        try(FileWriter fw = new FileWriter(file))
        { fw.write(text); }
    }
}

при вводе текста как «Привет, как дела?» Файл записывается только с «Привет,». Оставшийся текст послепервый пробел не записывается в файл.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

У меня работает следующее:

import static java.lang.System.*;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class CSWrite1 {
    public static void main(String[] args) {
        try (Scanner input = new Scanner(in)) {
            out.print("Enter file name> ");
            String file = input.nextLine();
            try (FileWriter fw = new FileWriter(file)) {
                out.print("Enter text: ");
                String text = input.nextLine(); // IN:"Hello, How are you" --> "Hello,
                fw.write(text);
            }
            catch (IOException xIo) {
                xIo.printStackTrace();
            }
        }
    }
}
0 голосов
/ 08 февраля 2019

Scanner использует разделитель, который по умолчанию включает пробел.То, что вы могли бы сделать (я не знаю, насколько это элегантно), это удалить разделитель.

Scanner input = new Scanner(System.in);
input.useDelimiter("");
String text=input.nextLine();
System.out.println(text);

Это работает для меня.Это не ваш файл писатель, это Scanner, который делает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...