Я думаю, проблема в том, что вы сами создали InputStream. Почему вы создали свой собственный, а не просто с помощью System.in?
Обновление:
Требуется ввод данных из JTextField.
ОК, понял. Обычно не имеет смысла использовать обработку ввода-вывода для чтения уже доступных символов в виде символов, но я вижу, как это облегчит вашу жизнь со Scanner.
Тем не менее, вы, возможно, могли бы сэкономить немного кода и скорби, используя «готовый» InputStream. Что приходит на ум, это
InputStream is = new ByteArrayInputStream(myTextField.getText().getBytes());
Ввод / вывод в Java - отвратительный. Радуйтесь, что яркие люди из Солнца заключили для вас большую часть этого.