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 be sent to 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>
The "< input.txt
" part
of the command line
connects the file input.txt
to the program which then uses it as input in place of the keyboard.
As with input redirection, this is a feature of the command line interface, not a feature specific to Java.
Notice that all 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.
It could be created with a text editor.
Is there a limit to the size of the input file?