J'ai un programme Java dans un environnement UNIX qui nécessite la transmission de données en mémoire tampon dans System.in.Comment rediriger des données de ligne tamponnées dans un programme à partir d'un fichier plutôt que d'un bloc de données
passage en entrée du clavier du terminal est très bien, mais si je tente de rediriger l'entrée d'un fichier d'une manière telle que:
java the_program < input.txt
le programme ne sera pas exécuté correctement.
De quelles façons puis-je transmettre des données en mémoire tampon par opposition aux données en mémoire tampon via le programme stdin?
J'ai essayé:
stdbuf -oL cat input.txt | java the_program
et
stdbuf -i0 java the_program < input.txt
ainsi que
grep --line-buffered . input.txt | java the_program
mais n'ont pas eu de chance.
Des idées ou des suggestions?
Oui, j'aurais dû clarifier. Le programme java est conçu pour échouer pour une entrée non-bufférisée et doit être supposé que "the_program" peut être n'importe quel programme qui accepte standard. Le but est de simuler l'entrée de l'utilisateur via le clavier, mais avec des tests prédéfinis dans un fichier texte . – Milo