webForumDet fria alternativet

ftp-klient

Java

3 svar · 404 visningar · startad av justine

Medlem sedan maj 200167 inlägg
Frågan#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

Medlem sedan dec. 2000485 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);

Medlem sedan maj 200167 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

Medlem sedan dec. 2000485 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/

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)