fileselector.java

来自「Java开发最新的日志记录工具slf4j的源码」· Java 代码 · 共 46 行

JAVA
46
字号
package org.slf4j.migrator;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import org.slf4j.migrator.internal.ProgressListener;

public class FileSelector {

  private List<File> javaFileList = new ArrayList<File>();

  ProgressListener pl;

  FileSelector(ProgressListener pl) {
    this.pl = pl;
  }

  public List<File> selectJavaFilesInFolder(File folder) {
    if (folder.isDirectory()) {
      selectFiles(folder);
      return javaFileList;
    } else {
      throw new IllegalArgumentException("[" + folder + "] is not a directory");
    }
  }

  private void selectFiles(File file) {
    if (file.isDirectory()) {
      pl.onDirectory(file);
      File[] files = file.listFiles();
      if (files != null) {
        for (int i = 0; i < files.length; i++) {
          selectFiles(files[i]);
        }
      }
    } else {
      if (file.getName().endsWith(".java")) {
        pl.onFileAddition(file);
        javaFileList.add(file);
      }

    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?