Мне трудно что-то придумать. (Я довольно новичок во всем этом.)
Я написал этот Java-PGM для FTP большого файла на целевой сервер.
Вот код (коды были немного изменены для отображения):
public static void ftpUpload(String path, String upfileName, String dirName) throws Exception
{
FTPClient client = new FTPClient();
client.addProtocolCommandListener((ProtocolCommandListener) new PrintCommandListener(new PrintWriter(System.out)));
client.enterLocalPassiveMode();
FileInputStream fis = null;
int reply;
try {
client.connect(ftpserver);
client.login(ftpuserid, ftppasswd);
reply = client.getReplyCode();
if(FTPReply.isPositiveCompletion(reply)){
client.changeWorkingDirectory(ftpdirectoryName + "/" + dirName);
boolean mkDir = client.makeDirectory(getCurrentMMMYY().toLowerCase());
client.changeWorkingDirectory(getCurrentMMMYY().toLowerCase());
//Create an InputStream of the file to be uploaded
fis = new FileInputStream(path + upfileName);
//Store file to server
client.storeFile(upfileName, fis);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fis != null) {
fis.close();
}
client.logout();
//client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Что-то странное происходит с файлами, которые я отправляю ...
Один из моих файлов на исходном сервере имеет размер 82575786, и когда я запускаю этот файл по ftp, он почти отправляет весь файл. На самом деле отправляет 82574867. (отсутствует 919)
Другой файл на исходном сервере - 717885, и когда я запускаю этот файл, он почти полностью отправляет файл. На самом деле отправляет 717522. (отсутствует 363)
Я вытащил журнал, чтобы убедиться, что что-то не получилось, но с передачей ничего плохого Вот 2 записи журнала, показывающие перевод.
[08.09.11 20: 21: 13: 618 EDT] 00000043 SystemOut O 221-Вы передали 717522 байта в 1 файле.
221 - Вы передали 82574867 байт в 1 файле.
Любая помощь будет принята с благодарностью.
Спасибо
Dan.