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
named echo.java
that
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>
"< input.txt
"
connects the file input.txt
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.
The file 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?