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