我很難找出一些東西。 (我對這一切都很陌生。) 我寫了這個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,當我ftp這個文件時,它幾乎發送整個文件。它實際上發送717522.(錯過363)
我拉了日誌,看看是否有東西墜毀,但它沒有顯示任何錯誤的轉移。以下是顯示傳輸的2個日誌條目。
[08/09/11 20:21:13:618 EDT] 00000043 SystemOut O 221 - 您已在1個文件中傳輸了717522個字節。 221 - 您已經在1個文件中傳輸了82574867個字節。
任何人的幫助將不勝感激。感謝 丹。
我可能會問你爲什麼要使用輸入與outpustream ,所以發送文件只有一個輸入流,它不工作?謝謝! – 98percentmonkey