webForumDet fria alternativet

ftp-klient

3 svar · 402 visningar · startad av justine

justineMedlem sedan maj 200178 inlägg
#1

jag vet inte riktigt om detta är rätt forum men jag försöker ändå.

jag försöker göra ett enkelt ftp-program i java och problemet uppstår när jag försöker ladda hem en fil. jag skickar kommandot RETR myfile.txt och filen hittas men sen vet jag inte vart jag ska göra av den. jag vet inte hur jag ska få den till att börja ladda hem den.

------------------
/ justine

D3VaST8DMedlem sedan dec. 2000469 inlägg
#2

Det är enbart att ta emot dataströmmen och spara den till en fil.

byte c[] = new byte[4096];

BufferedInputStream bis = new BufferedInputStream(Socket.getInputStream());
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(FileName));

while((read = bis.read(c, 0, 4096)) != -1)
bos.write(c, 0, read);

justineMedlem sedan maj 200178 inlägg
#3

tack. jag har förstått lite mer nu men jag får det inte riktigt att fungera. ska jag skapa en ny klass där jag tar emot dataströmmen? jag är väldigt förvirrad faktiskt.

------------------
/ justine

D3VaST8DMedlem sedan dec. 2000469 inlägg
#4

En ny klass behöver du ju inte göra, bara stoppa in metoden i en annan klass funkar ju också.

Det som skall göra är att du skickar PORT kommandot till ftp servern innan du skickar RETR. Port kommnadot anger ju till vilken port du vill ha din fil.
Därefter kommer serrvern skicka 200 till klienten över kontrollkanalen och därefter öppna datakanalen på den port du angav med PORT. När du fått 200 av servern är det ju bara att lyssna på porten och spara ner data till en fil.

------------------
ICC needs you! Join Darkspace @ http://www.darkspace.net/en/

130 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
127 ms — hämta tråd, inlägg och bilagor (db)