Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在将android应用程序连接到服务器时执行conn.getInputStream()时获取fileNotFoundException_Android - Fatal编程技术网

在将android应用程序连接到服务器时执行conn.getInputStream()时获取fileNotFoundException

在将android应用程序连接到服务器时执行conn.getInputStream()时获取fileNotFoundException,android,Android,当我通过android代码连接到服务器时,我收到了文件NotFoundException。 下面一行是抛出异常 URL url = new URL(PhpFileUrlConstants.PHP_FILE_BASE_URL + PhpFileUrlConstants.INSERT_DOC_INFO_PHP); URLConnection conn = url.openConnection(); conn.setDoOutput(true);

当我通过android代码连接到服务器时,我收到了文件NotFoundException。 下面一行是抛出异常

URL url = new URL(PhpFileUrlConstants.PHP_FILE_BASE_URL + PhpFileUrlConstants.INSERT_DOC_INFO_PHP);
            URLConnection conn = url.openConnection();
            conn.setDoOutput(true);
            OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
            wr.write(data.toString());
//            wr.flush(); 
//            wr.close();
            BufferedReader reader = null;
            try {
//              conn.setDoInput(true);
                reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
日志类别:

07-12 02:48:11.960:W/System.err(2206):java.io.FileNotFoundException: 07-12 02:48:11.980:W/System.err(2206):位于libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186) 07-12 02:48:12.002:W/System.err(2206):位于com.chlorodots.yourdoc.tasks.DoctorRegistrationTask.doInBackground(DoctorRegistrationTask.java:78) 07-12 02:48:12.010:W/System.err(2206):位于com.chlorodots.yourdoc.tasks.DoctorRegistrationTask.doInBackground(DoctorRegistrationTask.java:1) 07-12 02:48:12.030:W/System.err(2206):在android.os.AsyncTask$2.call(AsyncTask.java:287) 07-12 02:48:12.041:W/System.err(2206):位于java.util.concurrent.FutureTask.run(FutureTask.java:234) 07-12 02:48:12.050:W/System.err(2206):在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 07-12 02:48:12.061:W/System.err(2206):位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 07-12 02:48:12.081:W/System.err(2206):位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 07-12 02:48:12.090:W/System.err(2206):位于java.lang.Thread.run(Thread.java:841)
07-12 02:48:52.503:D/dalvikvm(403):GC_FOR_ALLOC freed 512K,20%free 3013K/3752K,暂停74ms,总计74ms

URLConnection的棘手之处在于,在尝试获取输入流之前,它不会尝试连接和写入。所以您认为异常在getInputStream,但实际上它尝试连接。由于存在FileNotFoundException,您可以断定url无效。使用浏览器可以获得一个页面,但该页面可能会被重定向。好了,现在是…

现在哪一行抛出ececcption?conn.getInputStream()Place conn.setDoInput(true);在声明流之前。所以在开始的时候。我也试过了,但我们不能这样做,因为它显示连接已经打开了…而且。。那么,异常不是在连接时,而是在尝试读取时。