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

回到顶部