Java - FTP - Corrupt fil download
Jeg har et lille(stort) problem med en ftp-client jeg har lavet.Problemer er at når jeg henter en txt fil fra serveren kommer det ned helt iorden. Men når jeg vil hente noget andet, som et BMP billede, kommer billedet ned hent forkert.
her er min kode til at hente en fil:
public void retrFile(String fileName) throws IOException{
String[] command = fileName.split("\\s");
fileName = command[1];
if (fileName != null){
int newPort = passivePort();
Socket ftpGetDataSocket = new Socket(ftpHostname, newPort);
DataInputStream ftpGetDataReader = new DataInputStream(ftpGetDataSocket.getInputStream());
ftpWriter.write("retr " + fileName);
ftpWriter.write("\n");
ftpWriter.flush();
RandomAccessFile outFile = new RandomAccessFile(fileName, "rw");
int bytesRead = 0;
byte[] buffer = new byte[4096];
bytesRead = ftpGetDataReader.read(buffer);
do{
outFile.write(buffer, 0, bytesRead);
bytesRead = ftpGetDataReader.read(buffer);
}
while (bytesRead != -1);
outFile.close();
ftpGetDataReader.close();
ftpGetDataSocket.close();
}
else
{
System.out.println("retr filename");
}
inputFromKeyboard();
}
Kig evt. her:
http://jollynet.dk/ftptest.bmp
http://jollynet.dk/ftptest_efter.bmp
Hvad gør jeg forkert?