gpt4 book ai didi

java - 在Java中通过FTP创建文件夹层次结构

转载 作者:太空狗 更新时间:2023-10-29 22:59:18 28 4
gpt4 key购买 nike

是否有现成的 Java 功能可以在远程 FTP 服务器上创建文件夹层次结构。 Apache Commons 确实提供了一个 FTP 客户端,但我找不到创建目录层次结构的方法。它确实允许创建单个目录 (makeDirectory),但创建整个路径似乎并不在其中。我想要这个的原因是因为有时目录层次结构的一部分(还)不可用,在这种情况下我想创建层次结构的缺失部分,然后更改到新创建的目录。

最佳答案

需要对此的答案,因此我实现并测试了一些代码以根据需要创建目录。希望这对某人有帮助。干杯!亚伦

/**
* utility to create an arbitrary directory hierarchy on the remote ftp server
* @param client
* @param dirTree the directory tree only delimited with / chars. No file name!
* @throws Exception
*/
private static void ftpCreateDirectoryTree( FTPClient client, String dirTree ) throws IOException {

boolean dirExists = true;

//tokenize the string and attempt to change into each directory level. If you cannot, then start creating.
String[] directories = dirTree.split("/");
for (String dir : directories ) {
if (!dir.isEmpty() ) {
if (dirExists) {
dirExists = client.changeWorkingDirectory(dir);
}
if (!dirExists) {
if (!client.makeDirectory(dir)) {
throw new IOException("Unable to create remote directory '" + dir + "'. error='" + client.getReplyString()+"'");
}
if (!client.changeWorkingDirectory(dir)) {
throw new IOException("Unable to change into newly created remote directory '" + dir + "'. error='" + client.getReplyString()+"'");
}
}
}
}
}

关于java - 在Java中通过FTP创建文件夹层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4078642/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com