Плюсы и минусы RubyMine и TextMate [закрыто]

Мне нужно перейти на "серьезную" Ruby (on Rails) IDE теперь, когда Netbeans прекращает поддержку Ruby. Я не хочу начинать троллинговую войну, но хотел бы я услышать плюсы и минусы использования TextMate или RubyMine в качестве IDE, чтобы помочь мне выбрать, во что мне следует потратить свое время, особенно от людей, которые используют один из них ежедневно («в окопах»). BufferedReader bufReader = новый BufferedReader (isReader); while (true) {try {...

Моя программа на Java прослушивает стандартный ввод:

InputStreamReader isReader = new InputStreamReader(System.in);
BufferedReader bufReader = new BufferedReader(isReader);
while(true){
    try {
        String inputStr = null;
        if((inputStr=bufReader.readLine()) != null) {
            ...
        }
        else {
            System.out.println("inputStr is null");
        }
    }
    catch (Exception e) {
        ...
    }
}

Теперь я хочу направить ввод в эту программу по конвейеру из bash. Я пробовал следующее:

echo "hi" | java -classpath ../src test.TestProgram

Но он просто печатает inputStr is null бесконечное количество раз. Что я делаю не так?

Редактировать 1: Обновлен вопрос, чтобы включить больше кода / контекста.


Редактировать 2:

Похоже, у меня та же проблема, что и у этого OP: Ввод канала командной строки в Java

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

21
задан Community 23 May 2017 в 12:34
поделиться