0

3pg ビデオ ファイルをダウンロードするコードは次のとおりです。たぶん、何が悪いのかについての考えを私に与えることができます。本当に助けが必要です。ファイルをダウンロードできません:

引用符

        protected String doInBackground(String... sUrl) {
            byte[] data = new byte[1024];
            int count = 0;
            FileOutputStream fos = null;
            BufferedOutputStream output = null;
            try {
            URL url= new URL(sUrl[0]);
            URLConnection connection = url.openConnection();
            connection.connect();
            Log.v("URL"," " + connection.getURL());
            Log.v("File ", "length = " + connection.getContentLength());
            // download the file
            BufferedInputStream input = new BufferedInputStream(connection.getInputStream());
            File f = new File(Environment.getExternalStorageDirectory().getPath() + "/twokids.3gp");
            f.setWritable(true,true);
            try {
                fos = new FileOutputStream(f);
                } catch (FileNotFoundException fnfe) {
                    fnfe.getStackTrace();
                } catch (SecurityException se) {
                    se.getStackTrace();
                }

                output = new BufferedOutputStream(fos);                                                                                                                        

            while ((count = input.read(data)) != -1) {
                Log.v("Count="," " + count);
                output.write(data, 0, count);
            }
            output.flush();
            output.close();
            input.close();
            Log.v("Download","Finished");
            } catch (IndexOutOfBoundsException iobe) {
            iobe.getStackTrace();
            } catch (IOException ioe) {
            ioe.getStackTrace();
            } catch (NullPointerException npe) {
            npe.getStackTrace();
            }
            catch (Exception e) {
            e.getStackTrace();
            }

        return null;
    }

奇妙なことに、メソッド connection.getContentLength() がファイル長の代わりに -1 を返すことがあります。

4

0 に答える 0