我有一个非常简单的方法可以扫描目录结构以执行检查。扫描看起来像这样:
File file = new File(initpath);
for(File hex : file.listFiles(new HexagonNameFilter())) {
for(File wall : hex.listFiles()) {
for(File shelf : wall.listFiles()) {
for(File book : shelf.listFiles()) {
// Perform some actual work
}
}
}
}
该方法在程序执行期间被多次调用。
不一致(意思是,在扫描过程中的某个不可预测的点),我得到一个 java.lang.NullPointerException 堆栈跟踪指向其中一个 for 语句(它也是不一致的)。这并不具有启发性。我正在考虑将 FilenameFilters 传递给三个 listFiles() 调用,但看不出这将如何解决这个问题。