在android HttpURLConnection中打开输入流时出现java.io.FileNotFoundException

Posted

技术标签:

【中文标题】在android HttpURLConnection中打开输入流时出现java.io.FileNotFoundException【英文标题】:java.io.FileNotFoundException while opening input stream in android HttpURLConnection 【发布时间】:2016-03-25 05:46:11 【问题描述】:

我在应用程序中工作所有请求都在工作,除了一个请求给我以下错误

java.io.FileNotFoundException: baseURL/MyListings/editListing
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:197)
at com.forsale.forsale.controller.manager.ForSaleNetworkManager.execute(ForSaleNetworkManager.java:137)
at com.forsale.forsale.controller.manager.ForSaleServerManager$37.doInBackground(ForSaleServerManager.java:2820)
at com.forsale.forsale.controller.manager.ForSaleServerManager$37.doInBackground(ForSaleServerManager.java:2795)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)

我真的不知道是什么问题。

编辑

请求正在邮递员上工作

【问题讨论】:

检查文件路径 FileNotFoundException 【参考方案1】:

由于方法名称拼写错误,导致找不到文件异常。

请分享邮递员的链接并在代码中使用,以便更好地理解。

检查响应码 200 是否成功

if (urlConnection.getResponseCode() == 200) 
    InputStream in = new BufferedInputStream(urlConnection.getInputStream());
    json = readStream(in);
else 
    json = "\"result\":\"fail\"";

【讨论】:

urlConnection.getResponseCode() 给我 442 422(Unprocessable Entity)状态码意味着服务器理解请求实体的内容类型并且请求实体的语法是正确的(因此400(Bad Request)状态码是不合适的)

以上是关于在android HttpURLConnection中打开输入流时出现java.io.FileNotFoundException的主要内容,如果未能解决你的问题,请参考以下文章

Android中"get","post"请求的其中三种常用数据提交方式

JAVA多线程下载

OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据

java抓取网页数据

用IO流发送Http请求

Java通过代理server上网