Avatar billede krukken Mester
05. april 2006 - 13:27 Der er 2 kommentarer og
1 løsning

Download af fil fra hjemmeside

Hvis man kender navnet på en fil, og også har stien til den, hvordan downloader man så nemmeste filen med java?
Avatar billede krukken Mester
05. april 2006 - 14:10 #1
var egentlig rimelig simpelt

System.out.println("Forsøger at downloade: "+ file);
        byte buf[] = new byte[100000];
        OutputStream fileOStream = null;
        InputStream fileIStream = null;

        try
        {
            fileIStream = new URL( new String( homepage + file ) ).openStream();
        }
        catch (IOException e)
        {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

        try
        {
            fileOStream = new FileOutputStream( basedir + file );
        }
        catch (FileNotFoundException e)
        {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

        boolean finish = false;
        int TryOut = 0;

        while (!finish)
        {
            int bytesRead = 0;
            try
            {
                bytesRead = fileIStream.read( buf );
            }
            catch (Exception e)
            {
                e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
            }

            if ( bytesRead > 0 )
            {
                try
                {
                    fileOStream.write(buf, 0, bytesRead );
                }
                catch (Exception e)
                {
                    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
                }
            }
            else
            {
                try
                {
                    TryOut++;
                    if(TryOut > 4)
                    {
                        finish = true;
                    }
                    Thread.currentThread().sleep( 100 );
                }
                catch ( InterruptedException e )
                {
                    System.out.println("Could not sleep");
                }
            }
        }
        System.out.println("Denne file er downloaded: "+ file);

        try
        {
            fileOStream.close();
        }
        catch (IOException e)
        {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
Avatar billede arne_v Ekspert
05. april 2006 - 14:36 #2
koden kan muligvis pyntes lidt ...
Avatar billede krukken Mester
05. april 2006 - 14:44 #3
Jeps - det har du helt ret i:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester