FtpClient storeFile始终返回False
请弄清楚这一点。该代码正常运行,没有任何异常。
FTPClient ftp = new FTPClient(); ftp.connect(server);
if(!ftp.login(username, password))
{
ftp.logout();
return false" title="return false">return false;
}
int reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
ftp.disconnect();
return false;
}
InputStream in = new FileInputStream(localfile);
ftp.setFileType(ftp.BINARY_FILE_TYPE, ftp.BINARY_FILE_TYPE);
ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE);
Store = ftp.storeFile(destinationfile, in);
in.close();
ftp.logout();
ftp.disconnect();
}
catch (Exception ex)
{
ex.printStackTrace();
return false;
}
return Store;
Buttttttttt
return语句始终返回false,并且文件未上传到服务器上。请有人帮忙。
供您参考,1)我在办公室网络中。-–>我们需要添加任何代理吗?
File file = new File("C:\\Users\\sg0214273\\Desktop\\seagate\\seagate.txt"); FileInputStream input = new FileInputStream(file);
client.setFileType(FTP.BINARY_FILE_TYPE);
if (!client.storeFile(file.getName(), input)) {
System.out.println("upload failed!");
}
reply = client.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)) {
System.out.println("upload failed!");
}
Login success...
230 User ******** logged in.
upload failed!-----> is form boolean return value of storefile
upload failed!---------> is from replycode...
Logout from FTP server...
请帮忙
回答:
确切的失败消息可以通过调用FtpClient#getReplyCode()来找到。从该页面(我的重点):
连接后立即是唯一实时的操作,您需要检查回复代码(因为connect的类型为void)。FTPClient中所有FTP命令方法的约定都是这样,它们要么返回布尔值,要么返回其他值。布尔方法在从FTP服务器成功完成答复时返回true,而在导致错误情况或失败的答复中返回false。返回布尔值以外的值的方法将返回包含FTP命令生成的高级数据的值;如果答复导致错误情况或失败,则返回null。
要了解返回码的含义,请参阅Wikipedia:FTP服务器返回码列表。
以上是 FtpClient storeFile始终返回False 的全部内容, 来源链接: utcz.com/qa/431068.html