gpt4 book ai didi

Java IO 文件未找到异常

转载 作者:行者123 更新时间:2023-12-01 14:35:03 27 4
gpt4 key购买 nike

我开发了一个 servlet,我正在尝试通过 Android 应用程序访问它。这是我的异步类的重要部分。 'params[0]' 是作为参数传入的 url

URL url;
BufferedReader reader = null;
String s = "";
try {
url = new URL(params[0]);
URLConnection con = url.openConnection();
reader = new BufferedReader(new InputStreamReader(
con.getInputStream()));
String line = "";
while ((line = reader.readLine()) != null) {
s = s + line;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

这在大多数情况下都有效。但有时,我会收到 java.io.FileNotFoundException当我使用相同的网址并在浏览器中尝试它时,它可以工作,但从我的应用程序来看,无论我尝试多少次,它都不起作用。这是我的日志:

05-14 19:35:51.852: W/System.err(767): java.io.FileNotFoundException: http://192.168.10.105:8080/CarpoolServer/EditProfileServlet?name=anna&yob=1977&gender=Female&major=Architecture&uni=N/A&occupation=Software Development&hobby1=Basketball&hobby2=Reading&hobby3=Football&email=jad_naoum%40hotmail.com&phone=70202018&from11=Beirut&from12=Beirut&from13=Mousseitbeh&to11=Beirut&to12=Beirut&to13=Mazraa&days1=SAT&time_from1=3:21AM&time_to1=4:21PM&car=true
05-14 19:35:51.852: W/System.err(767): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
05-14 19:35:51.852: W/System.err(767): at com.jad.carpooling.EditProfile$Async.doInBackground(EditProfile.java:416)
05-14 19:35:51.862: W/System.err(767): at com.jad.carpooling.EditProfile$Async.doInBackground(EditProfile.java:1)
05-14 19:35:51.862: W/System.err(767): at android.os.AsyncTask$2.call(AsyncTask.java:287)
05-14 19:35:51.862: W/System.err(767): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
05-14 19:35:51.862: W/System.err(767): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
05-14 19:35:51.862: W/System.err(767): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
05-14 19:35:51.872: W/System.err(767): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
05-14 19:35:51.872: W/System.err(767): at java.lang.Thread.run(Thread.java:856)

有什么想法吗?

<小时/><小时/>

我明白了。看来我没有正确编码 URL。 URL 中有一个空格。当我对其进行编码时,它起作用了。感谢您的帮助

最佳答案

您必须将所有空格替换为 %20所以这里是替换空格的代码。

strUrl = strUrl.replace(" ", "%20");

关于Java IO 文件未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16551474/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com