I am trying the following in my cmd prompt:
java>temp.txt
temp.txt is getting created with no content in it. "java" command output is displayed in console itself without getting redirecting to temp.txt
But if i do the following:
dir> temp.txt
output of dir command is getting redirected to temp file.
Why is the output of "java" command not getting redirected to the text file??
The >
is for sending the standard output
(stdout) to a given location. But the output printed with java
command is coming in standard error
(stderr) output.
To redirect stderr, you can use the below syntax. This will redirect standard outputs
to stdout.txt
and standard errors
to stderr.txt
java > stdout.txt 2> stderr.txt
Alternatively you can send both standard output
and standard error
to same file using below command (without mentioning the filenames twice).
java > output.txt 2>&1
2>
means redirect the stderr, &1
means to where the stdout is redirected which is output.txt
. So this command will redirect stdout to output.txt and stderr to where the stdout is redirected (which is output.txt iteself).
You can also ignore the stderr
by sending it to say, /dev/null
(only linux)
java > out.txt 2> /dev/null
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With