Java是一门强大的语言, 和其他语言一样,可以用递归函数来删除一个包含文件和子目录的目录.首先需要import相关的单元.) [. _% |. U; z0 |( C& V9 U
import java.io.File;# L: C e; W& j7 o2 \+ N0 k
以下是递归函数内容:
% G! A! w( i4 F% P% x# i private Boolean pDeleteDirectory(String filePath) {
1 H. o! l" ?. B+ f1 j+ C2 s: W Boolean bTotalRlt = true;
) o. c* t2 ~' a8 C5 e File file = new File(filePath);0 G/ g7 Y+ `8 O. p/ S# T. ?+ |
File[] fileList = file.listFiles();& _) _% A% }9 P. ] A o; E
String dirPath = null;
2 }! c! T4 F' U) \8 } if (fileList != null) {
% M8 X" Z2 A/ w/ s) s for (int i = 0; i < fileList.length; i++) {
$ {& Q. N7 H9 p if (fileList.isFile()) {
' t6 a, p# z+ F0 T4 x8 l7 z" f bTotalRlt = bTotalRlt && fileList.delete();8 P5 T; o5 _8 @5 O. \- m
}! a, L: K, C) U4 G& x
if (fileList.isDirectory()) {4 e, @+ J3 ?) D% \3 o* F U
dirPath = fileList.getPath();3 L+ F2 F8 I8 `1 \, t3 p2 C
bTotalRlt = bTotalRlt && pDeleteDirectory(dirPath);
/ V @# [7 c# K7 C! Y% {" c. ] }" `4 z3 U, `" I+ r. J1 k9 i
}9 o9 h7 i ` s4 ?4 h
bTotalRlt = bTotalRlt && file.delete();& m' K7 ^: B: l
}
9 A) P, c; L, Y9 m' v8 d; z- K* a return bTotalRlt;
& \2 r0 w, U; d2 F$ B* ^+ I% D3 \ } |