3

我正在使用 Apache (commons-net) 提供的 FTP 库。我想检查 FTP 服务器上是否存在文件,所以我使用以下listFiles方法FTPClient

ftpClient.listFiles(remoteFileDir + "\\" + fileName);

当前目录为 FTP 服务器根目录。因此, 的值remoteFileDir是相对于该根目录的路径。

我的问题涉及远程目录路径和文件名之间的合并。正确的方法是什么?对于本地文件,我会这样做:

File file = new File(remoteFileDir,fileName);

但是在这里它不起作用,因为当我调用时file.getAbsolutePath(),我得到了本地当前目录中文件的绝对路径,这不是我想要的。另外,我想合并是根据我当地的环境完成的。

PS:我看了如何在远程机器上确定路径?但这对我没有帮助。

谢谢

4

1 回答 1

1

我找到了FTPClient的方法changeWorkingDirectory。

ftpClient.changeWorkingDirectory(remoteFileDir);
FTPFile[] names = ftpClient.listFiles(fileName);

在这种情况下,我不必指定分隔符。

于 2012-07-02T09:14:22.970 回答