二话不说直接上代码

boolean result = ftpClient.changeWorkingDirectory("/AA/BB");
System.out.println("切换工作目录:" + result);
System.out.println("当前工作目录:" + ftpClient.printWorkingDirectory());

 文件夹路径"/AA/BB"写成/AA/BB/"末尾多一个/也可以,其实多多少个/都无所谓,会自动去掉,最终进入的文件目录还是"/AA/BB"

boolean result = ftpClient.changeWorkingDirectory("/AA/BB/"); // 末尾多个/
result = ftpClient.changeWorkingDirectory("/AA/BB//"); // 末尾多两个//
result = ftpClient.changeWorkingDirectory("/AA//BB///"); // 路径中间多/也不碍事
System.out.println("切换工作目录:" + result);
System.out.println("当前工作目录:" + ftpClient.printWorkingDirectory());

以上两个示例代码的输出结果一样,如下

切换工作目录:true
当前工作目录:/AA/BB

要注意changeWorkingDirectory()方法传入的地址参数必须是文件夹不能是文件,否则会失败

boolean result = ftpClient.changeWorkingDirectory("/AA/BB/test1.txt");
System.out.println("切换工作目录:" + result); // 输出结果为false

利用changeWorkingDirectory()方法切换工作目录后可以用相对目录来操作文件,比如如下代码先切换工作目录到"/AA/BB"路径下,然后用相对路径删除文件夹"/AA/BB"下的文件test1.txt

ftpClient.changeWorkingDirectory("/AA/BB");
ftpClient.deleteFile("test1.txt");

上面的两行实现的效果等同于如下利用绝对路径来删除文件

ftpClient.deleteFile("/AA/BB/test1.txt");

个人建议尽量少用changeWorkingDirectory()和相对路径来操作文件,建议保持在根目录,然后用绝对路径来操作,这样会比较清晰,使用changeWorkingDirectory()切换工作目录切来切去的容易把自己搞死,到最后搞不清真当前的工作目录到底是哪个

 

 

 

 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐