Avatar billede zitzo Nybegynder
03. august 2005 - 09:08 Der er 16 kommentarer og
1 løsning

Freeware FTP package

Jeg sidder og skal lave et program der skal sende og modtage fra en FTP server... det skal laves i java selvfølgelig :) men så skal bruge en package.

Jeg har fundet en gratis package der hedder SimpleFTP fra jibble.org, men den giver mig kun mulighed for at uploade så det er kun ½vejs...

Jeg har googlet det en del nu men kan ikke rigtig finde noget freeware... Jeg vil høre om der er nogen der kender til en FTP package eller kender et site hvor man kan være heldig at finde et sådan... :)
Avatar billede arne_v Ekspert
03. august 2005 - 09:10 #1
jakarta commons net indeholder FTP !
Avatar billede arne_v Ekspert
03. august 2005 - 09:11 #2
Avatar billede arne_v Ekspert
03. august 2005 - 09:11 #3
(jeg har sågar nogle FTP eksempler liggende)
Avatar billede zitzo Nybegynder
03. august 2005 - 09:13 #4
jamen det er jo altid rart at se nogen eksempler...
Avatar billede arne_v Ekspert
03. august 2005 - 10:02 #5
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.SocketException;

import org.apache.commons.net.ftp.FTPClient;

public class FtpGet {
    public static void main(String[] args) {
        FTPClient client = new FTPClient();
        try {
            client.connect("192.168.1.10");
            client.login("anonymous", "arne@");
            InputStream is = client.retrieveFileStream("index.lis");
            OutputStream os = new FileOutputStream("C:\\index.lis");
            byte[] b = new byte[1000];
            int n;
            int total = 0;
            while((n = is.read(b)) >= 0) {
                os.write(b,0,n);
                total += n;
                System.out.println("bytes: " + total);
            }
            os.close();
            is.close();
            client.disconnect();
        } catch (SocketException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Avatar billede arne_v Ekspert
03. august 2005 - 10:02 #6
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.SocketException;

import org.apache.commons.net.ftp.FTPClient;

public class FtpPut {
    public static void main(String[] args) {
        FTPClient client = new FTPClient();
        try {
            client.connect("localhost");
            client.login("anonymous", "arne@");
            InputStream is = new FileInputStream("C:\\z.zip");
            client.setFileType(FTPClient.BINARY_FILE_TYPE);
            OutputStream os = client.storeFileStream("z.zip");
            byte[] b = new byte[1000];
            int n;
            int total = 0;
            while((n = is.read(b)) >= 0) {
                os.write(b,0,n);
                total += n;
                System.out.println("bytes: " + total);
            }
            os.close();
            is.close();
            client.disconnect();
        } catch (SocketException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Avatar billede arne_v Ekspert
03. august 2005 - 10:04 #7
Vigtigt: brug retriveFile og storeFile metoderne fremfor de retrieveFileStream og
storeFileStream metoder som jeg bruger !
Avatar billede zitzo Nybegynder
03. august 2005 - 12:00 #8
Det er kanon arne! :) tak skal du have.
Avatar billede arne_v Ekspert
03. august 2005 - 12:04 #9
så ligger jeg et svar
Avatar billede zitzo Nybegynder
03. august 2005 - 12:06 #10
Den vil ikke kendes ved storeFile... den kan godt finde Stream versionen... hvad er årsagen?
Avatar billede zitzo Nybegynder
03. august 2005 - 12:07 #11
til at jeg skal bruge storeFile frem for storeFileStream?
Avatar billede zitzo Nybegynder
03. august 2005 - 12:09 #12
ok jeg er bare lidt langsom.... hehe men den aflevere en boolean istedet for en outputstream...
Avatar billede arne_v Ekspert
03. august 2005 - 12:11 #13
Ja du skal nemlig slette hele while løkken så !
Avatar billede zitzo Nybegynder
03. august 2005 - 12:12 #14
ja det er også det eneste jeg kunne få ud af det... sejt man!... nå men du får dine point :) tak for det
Avatar billede arne_v Ekspert
03. august 2005 - 12:12 #15
client.connect("localhost");
            client.login("anonymous", "arne@");
            InputStream is = new FileInputStream("C:\\z.zip");
            client.setFileType(FTPClient.BINARY_FILE_TYPE);
            client.storeFile("z.zip", is);
            is.close();
            client.disconnect();
Avatar billede arne_v Ekspert
03. august 2005 - 12:13 #16
storeFile har en while inden i sig og den er lidt mere avanceret end
min while løkke og kan håndtere nogle situationer med forskellige
fil formater bedre
Avatar billede zitzo Nybegynder
03. august 2005 - 12:15 #17
ok.. utroligt det er så nemt... :D men ok det er jo også java... alt er lavet for en haha... tak
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