Stahování z FTP: Stahuje se špatně – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Stahování z FTP: Stahuje se špatně – Java – Fórum – Programujte.comStahování z FTP: Stahuje se špatně – Java – Fórum – Programujte.com

 

exim
~ Anonymní uživatel
37 příspěvků
31. 8. 2012   #1
-
0
-

 Mám script na sosání souborů z FTP ale ve chvíli kdy sosnu např .jar soubro, nebo .zip soubor tak se stáhne špatně, má odlišnou velikost (staženej soubor je větší než původní o.O) a jar nejde otevřít a zip je poškozenej a nejde rozbalit...

Díky za pomoc...

package cplauncher.net;


import cplauncher.Launcher;
import cplauncher.var;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.io.CopyStreamEvent;
import org.apache.commons.net.io.CopyStreamListener;


public class ftp {
    private static FileOutputStream fos;
    public static long size;
    public static String f;
    
   public static boolean download(String file)
   {
       String user,pass,host;
       f = file;
       user = "...";
       pass = "..."; 
       host = "...";
       
       FTPClient client = new FTPClient();
       client.setCopyStreamListener(createListener());
        
       FTPClientConfig config = new FTPClientConfig();
       config.setLenientFutureDates(true);
       client.configure(config);
       
       try {
            client.connect(host); //Lognem FTP
            client.login(user, pass);

            
            for(FTPFile info : client.listFiles()) //Vycucnem soubory a zjistíme si velikost souboru co potřebujem
            {
                    System.err.print(info.getName());
                    System.err.print(" - ");
                    System.err.print(info.getSize());
                    System.err.print("\n");
                    
                    if(info.getName().equals(file))
                    {
                        size = info.getSize();
                    }
            }

           
            fos = new FileOutputStream(var.launcherTemp+"\\"+file); //Vytvoříme novej filestream pro soubor co budem sosat
            Launcher.infotxt.setText("Začínám stahovat "+file);
            boolean retrieveFile = client.retrieveFile(file, fos); //sosnem novej fajl
            fos.close();
            client.disconnect();
            
            return retrieveFile;  //az bude soslej, vratime true
  
        } catch (IOException e) {
        } finally {
            try {
                client.disconnect();
            } catch (IOException e) {
            }
        }
       
   
       return false;
   }
   private static CopyStreamListener createListener(){
       
        return new CopyStreamListener(){
            private long megsTotal = 0;
            @Override
            public void bytesTransferred(CopyStreamEvent event) {
                bytesTransferred(event.getTotalBytesTransferred(), event.getBytesTransferred(), event.getStreamSize());
                
            }

            @Override
            public void bytesTransferred(long totalBytesTransferred,
                    int bytesTransferred, long streamSize) {
                    long megs = totalBytesTransferred / 1000000;
                    double prec,tr,si;
                    int p;
                    tr = (double)(totalBytesTransferred / 1024);
                    si = (double)(size/1024);
                    prec = (tr / si)*100;
                    p = (int)prec;
                    
                    String infot,infoa;
                    infot = String.valueOf((int)tr);
                    infoa = String.valueOf((int)si);

                    
                
                for (long l = megsTotal; l < megs; l++) {
                    Launcher.infotxt.setText("Stahuji soubor "+ f +"[" + infot + "/" + infoa + "kB]");
                    System.err.print(prec);
                    System.err.print(" - ");
                    System.err.print(si);
                    System.err.print(" - ");
                    System.err.print(p);
                    System.err.print("\n");
                    Launcher.progress.setValue(p);
                    
                                                            
                }
                megsTotal = megs;
            }
        };
    }
}
Nahlásit jako SPAM
IP: 149.255.82.–
KIIV
~ Moderátor
+43
God of flame
31. 8. 2012   #2
-
0
-

asi nezapinas spravne binarni rezim...

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
exim
~ Anonymní uživatel
37 příspěvků
31. 8. 2012   #3
-
0
-

binarni rezim bezi zda se v poradku :/

Nahlásit jako SPAM
IP: 149.255.82.–
exim
~ Anonymní uživatel
37 příspěvků
16. 10. 2012   #4
-
0
-

zdravím, nějaké další návrhy? Prosím prosím, stále se mi to nepodařilo vyřešit, stažený archív má dokonce i jinou velikost než na ftp serveru... :o(

Nahlásit jako SPAM
IP: 93.99.138.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 44 hostů

Podobná vlákna

Ftp-stahování — založil savek

Stahovani prez FTP a HTTP — založil freeman-half

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý