无法将FTP文件下载到本地目录java

无法将FTP文件下载到本地目录java,java,ftp,download,Java,Ftp,Download,如果我尝试下载下面这样的文件,它会在这里下载 client.retrieveFile("/" + filename, fos); // working 但,若我试图下载FTP文件到特定的本地目录,如下所示,它并没有得到下载。有谁能告诉我为什么会这样 client.retrieveFile("C:\MydownloadedFiles" + filename, fos); // not working 谢谢。请避开“\”键 应该是: client.retrieveFile("C:\\Mydow

如果我尝试下载下面这样的文件,它会在这里下载

client.retrieveFile("/" + filename, fos);  // working
但,若我试图下载FTP文件到特定的本地目录,如下所示,它并没有得到下载。有谁能告诉我为什么会这样

client.retrieveFile("C:\MydownloadedFiles" + filename, fos); // not working
谢谢。

请避开“\”键
应该是:

client.retrieveFile("C:\\MydownloadedFiles" + "\\" + filename, fos);
一般来说,我建议使用常量File.separator来支持跨平台
我想到的另一个想法(请测试一下)如下:

File downloadsDirectory = new File("c:","MyDownloadedFiles");
File retrievedFileOnLocalComp = new File(downloadsDirectory.getAbsolutePath(),filename);
client.retrieveFile(retrievedFileOnComp.getAbsolutePath(),fos);
解释-
第一行在父路径“c:”
第二行创建要下载到的文件名,父目录等于第一行结果的绝对路径
第三个下载到它。 您在回忆使用“\\”时遇到问题

我建议使用这三行代码来解决这个问题,并消除斜杠类型上依赖于平台的决策

什么是“客户机”?在不知道您使用的FTP库的情况下,任何人都很难给出错误的建议。胡乱猜测:第二次检索中缺少一个
\
(还请注意,您需要转义
\
s)客户端是FTPClient client=new FTPClient();我尝试了client.retrieveFile(“C:\\MydownloadedFiles”+文件名,fos);但它仍然没有复制到该文件夹中。@user1833019-如果它有效,我将非常感谢您将此标记为正确答案