【发布时间】:2014-09-05 03:17:03
【问题描述】:
我正在使用 apache commons.net 访问一个 ftp 站点,该站点是 unix 中的目录:
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
我正在遍历一个列表,其中包含我想在特定 ftp 站点上下载的文件名的名称
String ftpPath = "/home/user1/input/";
FileOutputStream fos = null;
File file;
try {
for (int i = 0; i < fileList.size(); i++) {
file = new File(ftpPath+fileList.get(i).toString());
OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(file));
boolean download = ftpClient.retrieveFile("c:/test/downloadedFile.csv", outputStream1);
outputStream1.close();
if (download) {
System.out.println("File downloaded successfully !");
} else {
System.out.println("Error in downloading file ! " + downloadFile);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
但是,一旦我尝试开始下载文件,尽管检查 ftp 站点,该文件存在于 /home/user1/input/TejasSDH_PM_AU_09_07_2014_09_00.csv -rw-r--r-- 下,但仍出现此错误:
java.io.FileNotFoundException: \home\user1\input\TejasSDH_PM_AU_09_07_2014_09_00.csv (The system cannot find the path specified)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
at java.io.FileOutputStream.<init>(FileOutputStream.java:110)
at com.syntronic.client.FTPDataExtract$1.downloadTejasFiles(FTPDataExtract.java:255)
at com.syntronic.client.FTPDataExtract$1.run(FTPDataExtract.java:133)
我正在考虑作为我正在连接的 ftp 站点,路径 dir 位于 unix home/user1/input 中,而 java 正在将所有“/”转换为“\”。任何人都知道 eclipse 中的错误是什么意思,或者我的代码有问题吗?谢谢
【问题讨论】:
-
nablex,谢谢你,我终于明白你想说的话了。我真傻。我从本地路径切换了遥控器。需要尽快去看医生,连续 8 小时编写代码让我的思维变慢。再次感谢您。