队员们,
我看到了下面的代码,
private static String getResponse (HttpURLConnection connection) throws Exception
{
String responseString = null;
int responseCode = connection.getResponseCode();
String responseMessage = connection.getResponseMessage();
Log.debug("%s - Response code is \"%s\" with message \"%s\"",
methodName, responseCode, responseMessage);
String line = null;
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader bufferedReader = null;
try {
InputStream inputStream = connection.getInputStream();
if (inputStream != null) {
bufferedReader = Util.bufferedReader(
inputStream, Util.Encod.UTF8);
StringBuilder response = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
response.append(line);
response.append(Util.getNewLine());
}
responseString = response.toString();
}
}
finally {
if (bufferedReader != null) {
bufferedReader.close();
}
}
Log.signature.debug(
"%s - Received following JSON response : %s",
methodName,
responseString);
}
return responseString;
}
在这里,他们已经收到了如下的答复,对吗?
String responseMessage = connection.getResponseMessage()
那么他们为什么再次使用connection.getInputStream()
呢?
有什么不同吗?
如果可能的话,请你也解释一些例子或什么时候使用比上面的getResponseMessage() / getInputStream()
Class URLConnection
public Object getContent() throws IOException
public Object getContent(Class[] classes) throws IOException
发布于 2015-12-17 11:21:34
getResponseMessage()
用于获取连接的消息,如HTTP_NOT_FOUND
HTTP Status-Code 404: Not Found.
要通过getInputStream()
获取实际数据,请查找以下详细信息:
public InputStream getInputStream() throws IOException
返回从打开的连接读取的输入流。如果在数据可用之前读取超时,则从返回的输入流读取时可以引发SocketTimeoutException
。
返回:从打开的连接读取的输入流。 抛出: IOException -如果在创建输入流时发生I/O错误。UnknownServiceException -如果协议不支持输入。
有关详细信息,请参阅以下链接:http://docs.oracle.com/javase/7/docs/api/java/net/URLConnection.html#getInputStream()
https://stackoverflow.com/questions/34332967
复制相似问题