类org.apache.commons.io.comparator.NameFileComparator源码实例Demo

下面列出了怎么用org.apache.commons.io.comparator.NameFileComparator的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: youran   文件: FileNodeUtil.java
/**
 * 递归获取某个目录下的文件节点树
 *
 * @param dirFile
 * @param basePath
 * @return
 */
public static List<FileNodeVO> recurFileNodeTree(File dirFile, File basePath) {
    File[] files = dirFile.listFiles(getFileFilter());
    if (ArrayUtils.isEmpty(files)) {
        return Collections.emptyList();
    }
    return Arrays.stream(files)
        .sorted(new CompositeFileComparator(DirectoryFileComparator.DIRECTORY_COMPARATOR, NameFileComparator.NAME_COMPARATOR))
        .map(file -> {
            FileNodeVO nodeVO = fileToNodeVO(file, basePath);
            if (file.isDirectory()) {
                List<FileNodeVO> children = recurFileNodeTree(file, basePath);
                nodeVO.setChildren(children);
            }
            return nodeVO;
        })
        .collect(Collectors.toList());
}
 
源代码2 项目: aion-germany   文件: FileAlterationObserver.java
/**
 * Construct an observer for the specified directory, file filter and
 * file comparator.
 *
 * @param rootEntry the root directory to observe
 * @param fileFilter The file filter or null if none
 * @param caseSensitivity  what case sensitivity to use comparing file names, null means system sensitive
 */
protected FileAlterationObserver(FileEntry rootEntry, FileFilter fileFilter, IOCase caseSensitivity) {
    if (rootEntry == null) {
        throw new IllegalArgumentException("Root entry is missing");
    }
    if (rootEntry.getFile() == null) {
        throw new IllegalArgumentException("Root directory is missing");
    }
    this.rootEntry = rootEntry;
    this.fileFilter = fileFilter;
    if (caseSensitivity == null || caseSensitivity.equals(IOCase.SYSTEM)) {
        this.comparator = NameFileComparator.NAME_SYSTEM_COMPARATOR;
    } else if (caseSensitivity.equals(IOCase.INSENSITIVE)) {
        this.comparator = NameFileComparator.NAME_INSENSITIVE_COMPARATOR;
    } else {
        this.comparator = NameFileComparator.NAME_COMPARATOR;
    }
}
 
源代码3 项目: lams   文件: FileAlterationObserver.java
/**
 * Construct an observer for the specified directory, file filter and
 * file comparator.
 *
 * @param rootEntry the root directory to observe
 * @param fileFilter The file filter or null if none
 * @param caseSensitivity  what case sensitivity to use comparing file names, null means system sensitive
 */
protected FileAlterationObserver(final FileEntry rootEntry, final FileFilter fileFilter,
                                 final IOCase caseSensitivity) {
    if (rootEntry == null) {
        throw new IllegalArgumentException("Root entry is missing");
    }
    if (rootEntry.getFile() == null) {
        throw new IllegalArgumentException("Root directory is missing");
    }
    this.rootEntry = rootEntry;
    this.fileFilter = fileFilter;
    if (caseSensitivity == null || caseSensitivity.equals(IOCase.SYSTEM)) {
        this.comparator = NameFileComparator.NAME_SYSTEM_COMPARATOR;
    } else if (caseSensitivity.equals(IOCase.INSENSITIVE)) {
        this.comparator = NameFileComparator.NAME_INSENSITIVE_COMPARATOR;
    } else {
        this.comparator = NameFileComparator.NAME_COMPARATOR;
    }
}
 
protected Comparator<File> convertSortOrder()
{
    Comparator<File> result = NameFileComparator.NAME_COMPARATOR;
    if ( getSortOrder().equalsIgnoreCase( "NAME_INSENSITIVE_COMPARATOR" ) )
    {
        result = NameFileComparator.NAME_INSENSITIVE_COMPARATOR;
    }
    else if ( getSortOrder().equalsIgnoreCase( "NAME_INSENSITIVE_REVERSE" ) )
    {
        result = NameFileComparator.NAME_INSENSITIVE_REVERSE;
    }
    else if ( getSortOrder().equalsIgnoreCase( "NAME_REVERSE" ) )
    {
        result = NameFileComparator.NAME_REVERSE;
    }
    else if ( getSortOrder().equalsIgnoreCase( "NAME_SYSTEM_COMPARATOR" ) )
    {
        result = NameFileComparator.NAME_SYSTEM_COMPARATOR;
    }
    else if ( getSortOrder().equalsIgnoreCase( "NAME_SYSTEM_REVERSE" ) )
    {
        result = NameFileComparator.NAME_SYSTEM_REVERSE;
    }
    return result;
}
 
源代码5 项目: singer   文件: SingerUtils.java
public int compare(File file1, File file2) {
  int lastModifiedTimeComparison = LastModifiedFileComparator.LASTMODIFIED_COMPARATOR.compare(file1, file2);
  if (lastModifiedTimeComparison != 0) {
    return lastModifiedTimeComparison;
  }

  int fileNameLengthComparsion = file2.getName().length() - file1.getName().length();
  if (fileNameLengthComparsion != 0) {
    return fileNameLengthComparsion;
  }

  return NameFileComparator.NAME_REVERSE.compare(file1, file2);
}
 
源代码6 项目: singer   文件: LogStream.java
@SuppressWarnings({ "unchecked", "rawtypes" })
public void initialize() throws IOException {
  SingerLogConfig singerLogConfig = singerLog.getSingerLogConfig();
  String regexStr = fileNamePrefix;
  File logDir = new File(singerLogConfig.getLogDir());

  if (singerLogConfig.getFilenameMatchMode() == FileNameMatchMode.PREFIX) {
    regexStr += ".*";
  }

  LOG.info("Matching files under {} with filter {}", logDir, regexStr);
  FileFilter fileFilter = new RegexFileFilter(regexStr);
  File[] files = logDir.listFiles(fileFilter);

  // Sort the file first by last_modified timestamp and then by name in case two files have
  // the same mtime due to precision (mtime is up to seconds).
  Ordering ordering = Ordering.from(
      new CompositeFileComparator(
          LastModifiedFileComparator.LASTMODIFIED_COMPARATOR, NameFileComparator.NAME_REVERSE));
  List<File> logFiles = ordering.sortedCopy(Arrays.asList(files));

  LOG.info(files.length + " files matches the regex '{}'", regexStr);
  synchronized (logFilesInfoLock) {
    logFilePaths.clear();
    logFilePathsIndex.clear();
    for (File entry : logFiles) {
      long inode = SingerUtils.getFileInode(entry.toPath());
      append(new LogFile(inode), entry.toPath().toString());
    }
  }
  OpenTsdbMetricConverter.incr(SingerMetrics.LOGSTREAM_INITIALIZE, 1,
      "log=" + logStreamName, "host=" + SingerUtils.getHostname());
}
 
public ArrayList<FileItem> getFilesItemsInCurrentDirectory() {
    Operations op = Operations.getInstance(mContext);
    Constants.SORT_OPTIONS option = op.getmCurrentSortOption();
    Constants.FILTER_OPTIONS filterOption = op.getmCurrentFilterOption();
    if (mFileNavigator.getmCurrentNode() == null) mFileNavigator.setmCurrentNode(mFileNavigator.getmRootNode());
    File[] files = mFileNavigator.getFilesInCurrentDirectory();
    if (files != null) {
        mFiles.clear();
        Comparator<File> comparator = NameFileComparator.NAME_INSENSITIVE_COMPARATOR;
        switch(option) {
            case SIZE:
                comparator = SizeFileComparator.SIZE_COMPARATOR;
                break;
            case LAST_MODIFIED:
                comparator = LastModifiedFileComparator.LASTMODIFIED_COMPARATOR;
                break;
        }
        Arrays.sort(files,comparator);
        for (int i = 0; i < files.length; i++) {
            boolean addToFilter = true;
            switch(filterOption) {
                case FILES:
                    addToFilter = !files[i].isDirectory();
                    break;
                case FOLDER:
                    addToFilter = files[i].isDirectory();
                    break;
            }
            if (addToFilter)
                mFiles.add(new FileItem(files[i]));
        }
    }
    return mFiles;
}
 
public List<String> getLogNames() {
    List<String> names = new ArrayList<>();
    File[] files = this.activityDir.listFiles();
    if (files != null) {
        Arrays.sort(files, NameFileComparator.NAME_REVERSE);
        for (File file : files) {
            names.add(file.getName());
        }
    }
    return names;
}
 
源代码9 项目: java-platform   文件: TemplateService.java
private TemplateFile[] toTemplates(File dir, String parentPath) {
	List<TemplateFile> list = new ArrayList<>();
	File[] files = dir.listFiles();

	Arrays.sort(files, NameFileComparator.NAME_COMPARATOR);
	Arrays.sort(files, DirectoryFileComparator.DIRECTORY_COMPARATOR);

	for (File file : files) {
		TemplateFile templateFile = new TemplateFile();
		templateFile.setText(file.getName());
		String path = parentPath + "/" + file.getName();
		templateFile.setPath(path);
		if (file.isDirectory()) {
			templateFile.setChildren(toTemplates(file, path));
			templateFile.setIconCls("Folder");
		} else {
			String extension = FilenameUtils.getExtension(file.getName());
			if ("html".equals(extension)) {
				templateFile.setIconCls("Html");
			} else if ("js".equals(extension)) {
				templateFile.setIconCls("Script");
			} else if ("css".equals(extension)) {
				templateFile.setIconCls("Css");
			} else {
				templateFile.setIconCls("Page");
			}
		}
		list.add(templateFile);
	}

	return Iterables.toArray(list, TemplateFile.class);
}
 
源代码10 项目: DataHubSystem   文件: SystemService.java
public void cleanDumpDatabase(int keepno)
{
   File[]dumps = new File(
         cfgManager.getDatabaseConfiguration ().getDumpPath ())
         .listFiles(new FilenameFilter()
   {
      @Override
      public boolean accept(File path, String name)
      {
         if (name.startsWith("dump-"))
            return true;
         return false;
      }
   });
   if ((dumps!=null) && (dumps.length > keepno))
   {
      Arrays.sort(dumps, NameFileComparator.NAME_COMPARATOR);
      int last = dumps.length - keepno;
      for (int index=0; index<last; index++)
      {
         File dir = dumps[index];
         try
         {
            Date date = new Date (Long.parseLong (dir.getName ()
                  .replaceAll ("dump-(.*)", "$1")));
            LOGGER.info("Cleaned dump of " + date);
            FileUtils.deleteDirectory(dir);
         }
         catch (IOException e)
         {
            LOGGER.warn("Cannot delete directory " + dir.getPath() + " (" +
               e.getMessage() + ")");
         }
      }
   }
}
 
/**
 * Called by Maven to run this mojo after parameters have been injected.
 */
public void execute() throws MojoExecutionException {

    if (!featuresDirectory.exists()) {
        throw new MojoExecutionException("Features directory does not exist");
    }

    final Collection<File> featureFiles = listFiles(featuresDirectory, new String[] {"feature"}, true);
    final List<File> sortedFeatureFiles = new NameFileComparator().sort(new ArrayList<File>(featureFiles));

    createOutputDirIfRequired();

    File packageDirectory = packageName == null
            ? outputDirectory
            : new File(outputDirectory, packageName.replace('.','/'));

    if (!packageDirectory.exists()) {
        packageDirectory.mkdirs();
    }

    final CucumberITGenerator fileGenerator = createFileGenerator();
    fileGenerator.generateCucumberITFiles(packageDirectory, sortedFeatureFiles);

    getLog().info("Adding " + outputDirectory.getAbsolutePath()
                    + " to test-compile source root");

    project.addTestCompileSourceRoot(outputDirectory.getAbsolutePath());
}
 
 类所在包
 同包方法