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