URL url = new URL("ftp://user:pass@ftp.example.com/thefolder/");
URLConnection connection = url.openConnection();
...
// List files in folder...
使用类似上面的方法,我想知道如何获取文件夹“thefolder”中的文件列表?
继这个原始问题之后,我整理了这个简单的 FTP 连接,它一切正常且看起来不错。它可以看到 /live/conf/ 位置中的所有文件,并将它们全部复制到本地 /conf/ 位置。
唯一的问题是,它正在复制文件但没有内容。它们都是 0KB 并且是空的。
任何人都可以看到任何明显的复制文件名而不是文件内容的东西吗?
try {
FTPClient ftp = new FTPClient();
ftp.connect("000.000.000.000");
ftp.login("USER", "PASSWORD");
ftp.enterLocalPassiveMode();
ftp.setFileType(FTP.BINARY_FILE_TYPE);
FTPFile[] files = ftp.listFiles("/live/conf/");
for (int i=0; i < files.length; i++) {
if (files[i].getName().contains(".csv")) {
String remoteFile1 = files[i].getName();
File downloadFile1 = new File("/var/local/import/conf/"+files[i].getName());
OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));
ftp.retrieveFile(remoteFile1, outputStream1);
outputStream1.close();
}
}
ftp.disconnect();
} catch (SocketException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}