Java — вывод текста из файла в качестве эмуляции клавиатуры

#java #io #inputstream #outputstream #keyboard-hook

#java #io #входной поток #outputstream #клавиатура-хук

Вопрос:

Если бы у меня был файл numbers.txt со следующей строкой:

*1222223* @4555556 !7888889! $19.99

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

4555556 [TAB] 7888889 [TAB] [TAB] 1222223 [TAB] 19.99

[TAB] является эмуляцией клавиши табуляции, а не буквенной строки.

Конечно, во время вывода я не знаю, что это за числа или даже в каком порядке эти числа находятся изначально. Подумайте о символах * @ ! и $ как о заполнителях для расположения этих чисел, и я хочу перейти от * @ ! $ ввода к @ ! * $ выводу.

Дайте мне знать, если это недостаточно конкретно.

РЕДАКТИРОВАТЬ: я абсолютно ничего не знаю о Java. Я делаю пакетные / шелл-скрипты, HTML, CSS и немного PHP. Мой вопрос относится к действию, которое моя компания должна реализовать в простой программе, но мы плохо оснащены Java-ноу-хау.

Комментарии:

1. табуляция может быть добавлена к строке с помощью t escape-последовательности. Логика синтаксического анализа и упорядочения чисел полностью зависит от вас.

2. Не редактируйте Closed в заголовке. Если вы считаете, что вопрос устарел, вы можете удалить его самостоятельно.

3. Не удается удалить его, потому что есть ответ. И нет правильных флагов для использования, чтобы проголосовать за его закрытие.

Ответ №1:

Если я вас правильно понимаю, то вы ищете что-то вроде этого

http://gruimed.blogspot.com/2009/09/using-java-robot-to-type-text-strings.html

Редактировать: чтобы прочитать файл посимвольно, вы можете использовать это:

http://www.java2s.com/Code/Java/File-Input-Output/Readfilecharacterbycharacter.htm

Учитывая, что в первой ссылке link с примером робота есть метод

private void typeChar(символ c)

чтобы перевести каждый символ в ключевой код и ввести его, используя java.awt.Robot. Исключите любые ненужные символы, используя условные обозначения в логике ввода, и вставьте вкладки, используя эмуляцию в роботе с помощью ключевого кода TAB, который хранится в java.awt.event.Константа KeyEvent.VK_TAB.

Комментарии:

1. Добавление дополнительной информации в основной пост для «Предположения».

2. Спасибо за информацию. Может пройти несколько дней или недель, прежде чем он будет протестирован, но я довольно хорошо обновляю и голосую по своим вопросам.

3. Похоже, руководство решило не продвигаться вперед, поэтому я не буду его тестировать. Однако спасибо за помощь.