Witam
Mam następujący problem. Robię sobie aplet wysyłający i pobierający dane z ftp. Robię coś takiego
- Wysyłam plik na serwer
- Sprawdzam np. Total Commanderm i plik jest i jest dokładnie taki sam jak źródłowy.
- Teraz pobieram z ftp ten plik który przed chwilą wysłałem i porównuje w Total Commanderze i okazuje się że plik jest już inny.
Dokonałem analizy pliku i wychodzi na to, że wysyła się dobrze a pobiera źle. Różnica jesy przy oznaczeniu końca lini. W pliku źródłowym mam oznaczenia #10#13 i tak wygląd po skopiowaniu na ftp, jednak jak pobiorę to mam oznaczenie końca linii jako #10. Teraz tylko nie wiem czy cosik źle piszę czy to może nie tak ustawiłem serwer ftp. Poniżej wkleję kod programu. Może pobieram i wysyłam w jakiś dziwny sposób i powinienem to robić całkiem inaczej, sam już nie wiem proszę o jakieś sugestie
import java.net.*;
import java.io.*;
import java.net.InetAddress;
import java.text.*;
import java.util.*;
import sun.net.ftp.*;
public class testFtp {
public static void main(String[] args) {
FtpClient a;
try {
a = new FtpClient("127.0.0.1",6666);
a.login("javatest", "testjava");
File file=new File("c:\\plik.txt");
int filesize=(int) file.length();
int total = 0;
OutputStream out = a.put("plikftp.txt");
InputStream in = new FileInputStream(file);
byte c[] = new byte[4096];
int read = 0;
while ((read = in.read(c)) != -1 )
{
out.write(c, 0, read);
total+=read;
}
in.close();
out.close();
//pobieranie pliku z ftp
file = new File("c:\\plik2.txt");
out = new FileOutputStream(file, true);
in = a.get("plikftp.txt");
a.get
c= new byte[4096];
while ((read = in.read(c)) != -1){
out.write(c, 0, read);
}
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}