URLConnection抛出FileNotFoundException。我怎么发现这是由404引起的?

时间:2013-06-21 17:47:46

标签: java httpurlconnection urlconnection

我有这段代码:

String buildUrl = DEFAULT_HOST + "/job/" + jobName + "/" + buildNumber + API_PATH;
URLConnection connection = new URL(buildUrl).openConnection();
InputStream is = connection.getInputStream();

如果buildUrl导致404响应,则该最后一行会引发FileNotFoundException。但是,我想知道服务器返回404,因为我不相信FileNotFoundException 总是意味着 404我想在404发生时做一些特别的事情。

使用URLConnection

时,如何知道404何时发生?

2 个答案:

答案 0 :(得分:2)

首先,转换为HttpURLConnection,然后拨打connection.connect()而不是getInputStream。完成后,请致电getResponceCode()。如果一切顺利,那么您可以获得输入流

答案 1 :(得分:0)

如果您对第三方库感到满意,那么请查看apache commons http客户端组件项目。这个库比jdk中的本机u​​rl连接api具有更多用户友好的http api。