List of usage examples for org.apache.commons.io.comparator NameFileComparator NAME_COMPARATOR
Comparator NAME_COMPARATOR
To view the source code for org.apache.commons.io.comparator NameFileComparator NAME_COMPARATOR.
Click Source Link
From source file:com.thoughtworks.go.util.FileDigester.java
public static String md5DigestOfFolderContent(File directory) throws IOException { File[] files = directory.listFiles(); Arrays.sort(files, NameFileComparator.NAME_COMPARATOR); StringBuilder md5 = new StringBuilder(); for (File file : files) { if (file.isDirectory()) md5.append(md5DigestOfFolderContent(file)); else/* ww w .j a v a2 s. c om*/ md5.append(file.getName() + md5DigestOfFile(file)); } return md5DigestOfStream(new ByteArrayInputStream(md5.toString().getBytes(CharEncoding.UTF_8))); }
From source file:azkaban.utils.FileIOUtilsTest.java
private boolean areDirsEqualUtil(File file1, File file2, boolean isRoot, boolean ignoreRoot) throws IOException { if (!file1.getName().equals(file2.getName())) { if (!isRoot && ignoreRoot) return false; }//from ww w . j av a 2 s . c o m if (file1.isDirectory() && file2.isDirectory()) { if (file1.listFiles().length != file2.listFiles().length) { return false; } File[] fileList1 = file1.listFiles(), fileList2 = file2.listFiles(); Arrays.sort(fileList1, NameFileComparator.NAME_COMPARATOR); Arrays.sort(fileList2, NameFileComparator.NAME_COMPARATOR); for (int i = 0; i < fileList1.length; i++) { if (!areDirsEqualUtil(fileList1[i], fileList2[i], false, ignoreRoot)) { return false; } } return true; } else if (file1.isFile() && file2.isFile()) { return file1.getName().equals(file2.getName()) && FileUtils.contentEquals(file1, file2); } else return false; }
From source file:com.soebes.maven.plugins.iterator.AbstractIteratorMojo.java
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; }//from w ww .j a va 2s . c om return result; }
From source file:de.jwi.jfm.Folder.java
public void sort(int mode) { Comparator<File> c = null; switch (mode) { case SORT_NAME_UP: c = NameFileComparator.NAME_COMPARATOR; break;//from ww w . j a v a 2s .c o m case SORT_NAME_DOWN: c = NameFileComparator.NAME_REVERSE; break; case SORT_SIZE_UP: c = SizeFileComparator.SIZE_COMPARATOR; break; case SORT_SIZE_DOWN: c = SizeFileComparator.SIZE_REVERSE; break; case SORT_DATE_UP: c = LastModifiedFileComparator.LASTMODIFIED_COMPARATOR; break; case SORT_DATE_DOWN: c = LastModifiedFileComparator.LASTMODIFIED_REVERSE; break; } Arrays.sort(children, c); }
From source file:fr.gael.dhus.service.SystemService.java
public void cleanDumpDatabase(int keepno) { File[] dumps = new File(cfgManager.getDatabaseConfiguration().getDumpPath()) .listFiles(new FilenameFilter() { @Override// w w w. j a va 2 s .co m 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() + ")"); } } } }
From source file:org.astrojournal.generator.absgen.Importer.java
/** * Imports the report data stored in multiple files. * /*from w w w.j a v a2 s .c o m*/ * @param files * An array of files to parse (either CSV or TSV file, separated * by TAB delimiter). * @return a list of Report objects */ public List<Report> importReports(File[] files) { Arrays.sort(files, NameFileComparator.NAME_COMPARATOR); List<Report> reports = new ArrayList<Report>(); for (File file : files) { reports.addAll(importReports(file)); } return reports; }
From source file:org.astrojournal.generator.minigen.MiniLatexExporterByConst.java
@Override public void writeLatexMain(Writer writer, LatexHeader latexHeader, LatexFooter latexFooter, BasicStatistics basicStatistics) throws Exception { // write the Latex Header writer.write(latexHeader.getHeader()); // write the Latex Body // parse each file in the latex folder File[] files = new File(filesLocation + File.separator + reportFolder).listFiles(new LaTeXFilter()); if (files == null) { throw new Exception("Folder " + filesLocation + File.separator + reportFolder + " not found"); }//from ww w.ja v a 2s. c o m // sort the constellations when we parse the files Arrays.sort(files, NameFileComparator.NAME_COMPARATOR); String currConst = "", filename = ""; // If this pathname does not denote a directory, then listFiles() // returns null. for (File file : files) { filename = file.getName(); if (file.isFile()) { if (!currConst.equals(filename.substring(filename.indexOf("_") + 1, filename.indexOf(".")))) { currConst = filename.substring(filename.indexOf("_") + 1, filename.indexOf(".")); writer.write("\\section{" + currConst + "}\n"); } // include the file removing the extension .tex writer.write("\\input{" + reportFolder + "/" + filename.replaceFirst("[.][^.]+$", "") + "}\n"); // writerByConst.write("\\clearpage \n"); } } // write the Latex Footer writer.write(latexFooter.getFooter()); }
From source file:org.joget.apps.app.controller.ConsoleWebController.java
@SuppressWarnings("unchecked") @RequestMapping("/json/console/monitor/logs/list") public void consoleMonitorLogsJson(HttpServletResponse response, Writer writer, @RequestParam(value = "sort", required = false) String sort, @RequestParam(value = "desc", required = false) Boolean desc, @RequestParam(value = "start", required = false) Integer start, @RequestParam(value = "rows", required = false) Integer rows) throws JSONException, IOException { if (HostManager.isVirtualHostEnabled()) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return;/* w w w . ja va 2s. c o m*/ } JSONObject jsonObject = new JSONObject(); File[] files = LogUtil.tomcatLogFiles(); Collection<File> fileList = new ArrayList<File>(); if (files != null && files.length > 0) { for (File file : files) { if (file.isFile()) { String lowercaseFN = file.getName().toLowerCase(); Date lastModified = new Date(file.lastModified()); Date current = new Date(); if ("catalina.out".equals(lowercaseFN) || (lowercaseFN.indexOf(".log") > 0 && !lowercaseFN.startsWith("admin") && !lowercaseFN.startsWith("host-manager") && !lowercaseFN.startsWith("manager")) && (lastModified.getTime() > (current.getTime() - (5 * 1000 * 60 * 60 * 24))) && file.length() > 0) { fileList.add(file); } } } } files = fileList.toArray(new File[0]); Arrays.sort(files, NameFileComparator.NAME_COMPARATOR); for (File file : files) { @SuppressWarnings("rawtypes") Map data = new HashMap(); data.put("filename", file.getName()); data.put("filesize", file.length()); data.put("date", TimeZoneUtil.convertToTimeZone(new Date(file.lastModified()), null, AppUtil.getAppDateFormat())); jsonObject.accumulate("data", data); } jsonObject.accumulate("total", fileList.size()); jsonObject.accumulate("start", start); jsonObject.accumulate("sort", sort); jsonObject.accumulate("desc", desc); jsonObject.write(writer); }
From source file:org.mitre.mpf.mvc.controller.ServerMediaController.java
@RequestMapping(value = { "/server/get-all-files-filtered" }, method = RequestMethod.POST) @ResponseBody//from w w w.j a va 2s . com public ServerMediaFilteredListing getAllFilesFiltered( @RequestParam(value = "fullPath", required = true) String fullPath, @RequestParam(value = "draw", required = false) int draw, @RequestParam(value = "start", required = false) int start, @RequestParam(value = "length", required = false) int length, @RequestParam(value = "search", required = false) String search, @RequestParam(value = "sort", required = false) String sort) { log.debug("Params fullPath:{} draw:{} start:{},length:{},search:{} ", fullPath, draw, start, length, search, sort); File dir = new File(fullPath); if (!dir.isDirectory() && fullPath.startsWith(propertiesUtil.getServerMediaTreeRoot())) return null;//security check File[] files = dir.listFiles(File::isFile); //sort it by filename modified date (most current first) if (sort != null && sort == "lastModified") { Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE); } else { Arrays.sort(files, NameFileComparator.NAME_INSENSITIVE_COMPARATOR // Then make capital letters come before lowercase .thenComparing(NameFileComparator.NAME_COMPARATOR)); } //handle search if (search != null && search.length() > 0) { List<File> search_results = new ArrayList<File>(); for (int i = 0; i < files.length; i++) { File file = files[i]; if (files[i].getName().toLowerCase().contains(search.toLowerCase())) { search_results.add(file); } } files = new File[search_results.size()]; files = search_results.toArray(files); } //filter by approved list of content type List<File> contentFiltered = new ArrayList<File>(); for (int i = 0; i < files.length; i++) { File file = files[i]; if (ioUtils.isApprovedFile(file)) { contentFiltered.add(file); } } files = new File[contentFiltered.size()]; files = contentFiltered.toArray(files); int records_total = files.length; int records_filtered = records_total;// Total records, after filtering (i.e. the total number of records after filtering has been applied - not just the number of records being returned for this page of data). //handle paging int end = start + length; end = (end > files.length) ? files.length : end; start = (start <= end) ? start : end; File[] filtered = Arrays.copyOfRange(files, start, end); List<ServerMediaFile> mediaFiles = new ArrayList<>(); //build output for (int i = 0; i < filtered.length; i++) { File file = filtered[i]; if (ioUtils.isApprovedFile(file)) { mediaFiles.add(new ServerMediaFile(file, ioUtils.getMimeType(file.getAbsolutePath()))); } } return new ServerMediaFilteredListing(draw, records_filtered, records_total, mediaFiles); }
From source file:retrieval.testvector.generator.TestVectorReading.java
/** * Read test vector for a client (central server) * @param directory Directory// w w w. j av a 2s . com * @return Test vector central server list * @throws TestsVectorsNotFoundServerException Cannot read tests vectors */ public static TestVectorListClient readClient(String directory, ConfigClient config) throws TestsVectorsNotFoundServerException { logger.debug("readClient:" + directory); TestVectorListClient lists = new TestVectorListClient(); File f = new File(directory); if (!f.exists()) { throw new TestsVectorsNotFoundServerException(); } //read only xml files File[] fs = f.listFiles(new XMLFileFilter()); Arrays.sort(fs, NameFileComparator.NAME_COMPARATOR); logger.debug("readClient: read..."); for (int i = 0; i < fs.length && i < config.getNumberOfTV(); i++) { try { List<String> key = new ArrayList<String>(); List<String> val = new ArrayList<String>(); List<String> pos = new ArrayList<String>(); String storeName = fillTestVector(fs[i], key, val, pos); logger.debug("readClient: [" + i + "]" + storeName); TestVectorClient tv = new TestVectorClient(storeName, key, val, pos); lists.add(tv); } catch (Exception e) { throw new TestsVectorsNotFoundServerException(e.toString()); } lists.sort(); } return lists; }