Autore Topic: Download file non completo  (Letto 362 volte)

Offline overflow

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei G 330
  • Sistema operativo:
    OS X 10.8.4
Download file non completo
« il: 07 Agosto 2013, 14:06:53 CEST »
0
ho un problema con il seguente codice in quanto non mi scarica tutto il file ma solo una parte :/
help me :'(

Codice (Java): [Seleziona]
private void downloader(String name) throws IOException, IOException {
            String url;
            url = "myurl/scrip.php?file="+name;
           
            java.io.BufferedInputStream in = new java.io.BufferedInputStream(new java.net.URL(url).openStream());
           
            java.io.FileOutputStream fos = new java.io.FileOutputStream("/sdcard/"+name);
            java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
            byte data[] = new byte[1024];
            int len;
            while ((len = in.read(data)) != -1) {
                bout.write(data, 0, len);
            }
            bout.close();
            in.close();
    }

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:Download file non completo
« Risposta #1 il: 07 Agosto 2013, 14:15:40 CEST »
0
Prima di fare il close dello stream di output hai provato a fare un flush?

Offline overflow

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei G 330
  • Sistema operativo:
    OS X 10.8.4
Re:Download file non completo
« Risposta #2 il: 07 Agosto 2013, 14:28:31 CEST »
0
dici così?
Codice (Java): [Seleziona]
        private void downloader(String name) throws IOException, IOException {
            String url;
            url = "[url=http://myurl.com/include/index.php?mp3="+name;]MyURL.com: The Leading Domain Names Site on the Net[/url]
           
            java.io.BufferedInputStream in = new java.io.BufferedInputStream(new java.net.URL(url).openStream());
           
            java.io.FileOutputStream fos = new java.io.FileOutputStream("/sdcard/"+name);
            java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
            byte data[] = new byte[1024];
            int len;
            while ((len = in.read(data)) != -1) {
                bout.write(data, 0, len);
            }
            bout.flush();
            bout.close();
            in.close();
    }

non cambia nulla così :/

Post unito: 07 Agosto 2013, 20:44:00 CEST
ho provato anche in questo modo ma nnt una volta scarica 2 mb una volta 1 e mezzo mentre il file è 6 mb

Codice (Java): [Seleziona]
private void downloader(String name) throws IOException, IOException {
            String url;
            url = "http://mysite.com/index.php?mp3="+name;
           
            java.io.BufferedInputStream in = new java.io.BufferedInputStream(new java.net.URL(url).openStream());
           
            java.io.FileOutputStream fos = new java.io.FileOutputStream("/sdcard/"+name);
            java.io.BufferedOutputStream bout = new BufferedOutputStream(fos);
            int len=0;
            while ((len = in.read()) != -1) {
                bout.write((byte) len);
            }
            bout.close();
            in.close();
    }

Post unito: 07 Agosto 2013, 22:48:18 CEST
ho cambiato cosi il codice  ma lo stesso nn funziona
Codice (Java): [Seleziona]
 private void downloader(String name) throws IOException, IOException {
            String furl= "[url=http://myurl.com/index.php?mp3="+name;]MyURL.com: The Leading Domain Names Site on the Net[/url]]MyURL.com: The Leading Domain Names Site on the Net[/url]
            try{

                URL url  = new URL(furl);
                URLConnection conexion = url.openConnection();
                conexion.connect();

                //int lenghtOfFile = conexion.getContentLength();


                InputStream is = url.openStream();

                File testDirectory = new File(Environment.getExternalStorageDirectory()+"/ytmp3download/");
            if(!testDirectory.exists()){
                testDirectory.mkdir();
            }

                FileOutputStream fos = new FileOutputStream(testDirectory+"/"+name);

                int count = 0;

                while ((count=is.read()) != -1)
                        fos.write(count);

                is.close();
                fos.close();


            }catch(Exception e){
                e.printStackTrace();
            }
    }
« Ultima modifica: 07 Agosto 2013, 22:49:16 CEST da overflow »