Как преобразовать стандартный ввод в строку? - PullRequest
2 голосов
/ 04 марта 2011

Я хотел бы знать, как я могу преобразовать стандартный ввод в строку.Например, у меня есть текстовый файл с n количеством букв - все это я хочу прочитать в одну строку.

Просто чтобы убедиться: стандартный ввод - это когда вы даете программе ввод .txt.

Помощь будет принята с благодарностью!

Ответы [ 5 ]

3 голосов
/ 04 марта 2011

У меня есть файл, и я хочу сохранить его данные в виде строки.

Это можно сделать с помощью commons-io:

String content = FileUtils.readFileToString(file);

( полный пример )

Для чтения из стандартного ввода в строку вы можете использовать сканер. Используйте while (scanner.hasNextLine()), если вы хотите весь файл.

String firstLineFromStdin = new Scanner(System.in).readLine();
0 голосов
/ 04 марта 2011

В итоге я использую это:

    String s = "";

    while (!StdIn.isEmpty()){

        s = s + StdIn.readChar();

    }

Я запустил программу, используя: java program

0 голосов
/ 04 марта 2011

Во-первых, вы хотите указать имя файла в качестве аргумента вашей программы. Или весь файл в качестве ввода? В первом случае вы делаете:

"program filename.txt" 

В секунду вы вводите:

"program < filename.txt".

В первом случае имя файла является вводом. И ваша программа должна сама открыть файл. Во втором случае содержимое файла передается как ввод файла.

Если вы даете только имя файла, имя файла находится в аргументах вашей основной функции (аргументы массива части "main (String args [])". Используя это имя файла, вы можете использовать ранее предложенную readFileToString для преобразования содержимое файла в строку.

Если вы хотите использовать другой метод ввода файла "program http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html

Вы также упоминаете, что довольно плохо знакомы с Java. Я надеюсь, вы знаете о существовании документации Java? http://download.oracle.com/javase/6/docs/api/index.html содержит много информации, которую вы, возможно, захотите узнать.

0 голосов
/ 04 марта 2011

Что вы хотите сделать, это передать файл в ваше приложение ...

java your.package < file.txt

Затем вы можете читать файл как обычно через Java System.in.

0 голосов
/ 04 марта 2011

Вы можете попробовать что-то вроде

System.setIn(new FileInputStream(filename));

Вот пример перенаправления стандартного ввода / вывода

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