public static void buildList(FtpClient aftp,String pathList) throws Exception {
aftp.ascii();
StringTokenizer s = new StringTokenizer(pathList, "/"); //sign
int count = s.countTokens();
String pathName = "";
while (s.hasMoreElements()) {
pathName = pathName + "/" + (String) s.nextElement();
try {
aftp.sendServer("XMKD " + pathName + "\r\n"); }
catch (Exception e) { e.printStackTrace(); }
int reply = aftp.readServerResponse(); }
aftp.binary();
}
㈡ 用java复制多级文件夹下的文件,只要文件不要文件夹。
递归
File file = new File("d:/A/");
private List<String> ergodic(File file,List<String> resultFileName){
File[] files = file.listFiles();
if(files==null)return resultFileName;// 判断目录下是不是空的
for (File f : files) {
if(f.isDirectory()){// 判断是否文件夹
ergodic(f,resultFileName);// 调用自身,查找子目录
}else
resultFileName.add(f.getPath());
}
return resultFileName;
}
要获取文件 的话 , 路径 全在这个list中
你要是直接复制到 别的目录 改一改就可以了
把是文件的地方 用流写出去可以了
㈢ java.io.File中mkdir和mkdirs的区别
mkdirs可以创建指定目录以及所有的父目录,创建此抽象路径名指定的目录,包括所有必需但不存在的父目录,也就是可以在不存在的目录中创建文件夹。
mkdir创建此抽象路径名指定的目录,也就是只能在已经存在的目录中创建创建文件夹。
mkdirs()可以建立多级文件夹,mkdir()只会建立一级的文件夹, 如下:
File file=new File("/tmp/one/two/three");
file.mkdirs();
执行后, 会建立tmp/one/two/three四级目录
file..mkdir();
则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回false