Ввод файла Java в качестве аргумента командной строки - PullRequest
2 голосов
/ 13 октября 2008

Как вы обрабатываете информацию в Java, которая была введена из файла. Например: предположим, у вас есть файл input.txt. Содержимое этого файла: abcdefghizzzzjklmnop azzbcdefghijklmnop

Я надеюсь, что информация будет помещена в массив аргументов строк, так что следующий код выведет "abcdefghizzzzjklmnop"

class Test {
    public static void main(String[] args) {
        System.out.println(args[0]);
    }
}

Команда, которую я использовал, выбрасывает массив из связанной исключительной ситуации. Эта команда:

Java-тест

Не-файловые аргументы работают нормально, хотя. то есть. java Test hello, и java Test

Дополнительная информация: Я попытался поместить содержимое файла в одну строку, чтобы увидеть, не могут ли \ n \ r символы что-то напутать Это не помогло.

Кроме того, я не могу использовать класс bufferedreader для этого, потому что это для школьной программы, и она должна работать с моим сценарием оболочки профессора. Он прошел через это во время урока, но я не записал его (или не могу его найти).

Любая помощь?

Ответы [ 3 ]

9 голосов
/ 13 октября 2008

Вы должны быть в состоянии прочитать входные данные из System.in.

Вот небольшой пример кода. javac Test.java; java Test < Test.java

class Test
{
    public static void main (String[] args)
    {
        byte[] bytes = new byte[1024];
        try
        {
            while (System.in.available() > 0)
            {
                int read = System.in.read (bytes, 0, 1024);
                System.out.write (bytes, 0, read);
            }
        } catch (Exception e)
        {
            e.printStackTrace ();
        }
    }
}
2 голосов
/ 13 октября 2008

Кажется, каждый раз, когда вы публикуете официальный вопрос о своей проблеме, вы решаете ее.

Ввод файла через «

Оказывается, вы должны использовать класс буферизованного считывателя.

0 голосов
/ 13 октября 2008

Я не уверен, почему вы хотите передать содержимое файла в качестве аргументов командной строки, если вы не проводите какой-то странный тестовый стенд.

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

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