What is the function or purpose of HttpURLConnection.setDoInput or HttpURLConnection.setDoOutput?
解决方案
From the documentation for URLConnection:
Set the DoInput flag to true if you intend to use the URL connection for input, false if not. The default is true.
Set the DoOutput flag to true if you intend to use the URL connection for output, false if not. The default is false.
As for the actual purpose, it doesn't appear that anything in the Oracle code checks on the doInput variable. However the doOutput default of false will prevent you from calling getOutputStream() necessary for HTTP POST requests. So it is a way to indicate ahead of time that you expect to write to an OutputStream without actually establishing it.