问候人们.
我有这个奇怪的问题.在我正在进行的项目中,我需要将文件上传到FTP站点.我之前已经编写了许多程序,并且它们工作得很好.但这个特殊的网站给我带来了麻烦.当我尝试从程序上传文件时,我将其具体化:
java.net.UnknownHostException:ftp://site.com
但是,当我尝试从浏览器(Chrome,IE)或Windows资源管理器中连接到同一网站时,我能够找到该网站并登录就好了.我累了张贴照片,但由于我是新手,我被禁止这样做.
所以我现在很难过.如果我无法从Windows连接,那么我可以认为这是一个FTP服务器问题.这只发生在Java程序中.而且我也知道我的代码可以像以前在很多场合使用过一样.这是我使用的代码:
public void uploadFile(String fileName) throws Exception {
FileTransferClient ftpClient = null;
try {
ftpClient = new FileTransferClient();
ftpClient.setRemoteHost(gv.ftpHost);
ftpClient.setRemotePort(21);
ftpClient.setUserName(gv.ftpUserName);
ftpClient.setPassword(gv.ftpPassword);
ftpClient.getAdvancedFTPSettings().setConnectMode(FTPConnectMode.PASV);
ftpClient.connect();
ftpClient.uploadFile(gv.irp + fileName, fileName, WriteMode.OVERWRITE);
}
catch (Exception e) {
throw new Exception("Error occured in uploadFile()\n" + e);
}
finally {
if (ftpClient != null) {
if (ftpClient.isConnected()) {
ftpClient.disconnect();
}
ftpClient = null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我使用edtFTPj库.我的环境是从Windows 7 64位计算机运行的Java 1.6(32位)上的Eclipse Helios(32位).
任何有关解决此问题的见解将不胜感激.谢谢你的时间.
在传输模式(二进制,ASCII)方面,ftp和sftp tranfser类型之间有什么区别吗?在sftp传输中,我们仍然有二进制和ASCII传输选项,或者它是否具有默认模式,无论我们选择与否.