问候各位。
我有这个奇怪的问题。在我现在正在进行的项目中,我需要将文件上传到 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;
}
}
}
我使用 edtFTPj 库。我的环境是在 Windows 7 64 位机器上运行的 Java 1.6(32 位)上的 Eclipse Helios(32 位)。
任何有关解决此问题的见解将不胜感激。谢谢你的时间。