是否有可能獲得文件夾(和所有子文件夾)內的文件總數而不遍歷所有文件,並且遞歸更深入?獲得結構中沒有遞歸的文件的數量
我的意思是這很容易,但也許有更好的解決方案?
private int totalFileCounter = 0;
private void countFiles(File f) {
if (f.isDirectory()) {
for (File fi : f.listFiles()) {
countFiles(fi);
}
} else {
totalFileCounter++;
}
}
編輯:好吧,也許我的問題wasnt好問......我的意思是有從Java或文件系統或別的任何功能,可以讓我的文件在O(1)總的計數?所有的解決方案現在都有運行時O(n)。
不,你不能沒有遞歸(除非你把遞歸轉換成循環,但這只是隱藏遞歸)。 –