En Java, ¿cuál es la mejor manera de capturar una pulsación de tecla <tab>?

Tengo problemas para capturar la pulsación de tecla <tab> en mi aplicación de línea de comandos Java. Usando System.in.read () parece que no obtengo nada cuando presiono la tecla tab. ¿Cuál es la mejor manera de abordar esto?

Para dar un poco de contexto, estoy tratando de permitir que un usuario presione la tecla tab en el medio del comando para que complete automáticamente el comando (al igual que lo haría en un shell bash). Estoy abierto a sugerencias si hay mejores enfoques para lograr esto (quizás usar System.in.read () no es el mejor ángulo para abordar esto?).

Respuestas a la pregunta(3)

Su respuesta a la pregunta