Mostly from the keyboard.
A program that reads input from the keyboard can also read input from a text file. This is called input redirection, and is a feature of the command line interface of most operating systems.
Say that you have a program
reads characters from the keyboard and echoes
them to the monitor.
Here is how the program usually works:
C:\temp> java echo Enter your input: User types this. You typed: User types this. C:\temp>
Without making any changes to the program,
its input can come from a disk file.
Say that there is a file
input.txt in the same subdirectory as the program,
and that it contains the text
This is text from the file.
You can do this:
C:\temp> java echo < input.txt Enter your input: You typed: This is text from the file. C:\temp>
connects the file
to the program which then reads it instead of the keyboard.
As with input redirection, this is a feature of the command line interface, not a feature specific to Java.
The program's output is sent to the monitor, including the (now useless) prompt.
input.txt must exist before the program is run.
Create it with a text editor.
Is there a limit to the size of the input file?