⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileutility.java

📁 用Swing实现的CHM制作工具
💻 JAVA
字号:
package g2w.app.gchm.util;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
import java.util.List;

/**
 * File Utility.
 * Used to list files and etc..
 * 
 * @author GreatGhoul
 * @version 008 2009-3-21 14:14:25
 */
public class FileUtility {
	
	/** Prevents getting instanced. */
	private FileUtility() {}

/**
 * Returns a list of files that the extension name matchs one of extensions.
 * <blockquote>Usage: getFilesByNameExtensions(dir, "txt", "JPEG");</blockquote>
 * 
 * @param dir The directory to scan in.
 * @param extensions Extensions collection.
 * @return A list of matched files.
 */
public static List<File> getFilesByNameExtensions(File dir, final String... extensions) {
	return Arrays.asList(dir.listFiles(new FilenameFilter()  {
		@Override
		public boolean accept(File dir, String name) {
			File file = new File(dir, name);
			boolean accept = false;
			for (String extension : extensions) {
				if (file.isDirectory()) break;
				if (name.toLowerCase().endsWith("." + extension.toLowerCase())) {
					accept = true;
					break;
				}
			}
			return accept;
		}	
	}));
}
	
	/**
	 * Returns a list of files that the extension name matchs one of extensions.
	 * <blockquote>Usage: getFilesByNameExtensions(dir, "txt", "JPEG");</blockquote>
	 * 
	 * @param dir The directory to scan in.
	 * @param extensions Extensions collection.
	 * @return A list of matched files.
	 */
	public static List<File> getFolders(File dir) {
		return Arrays.asList(dir.listFiles(new FilenameFilter()  {

			@Override
			public boolean accept(File dir, String name) {
				File file = new File(dir, name);
				if (file.isDirectory()) return true;
				else return false;
			}
			
		}));
	}
	
	/**
	 * Verify if the filename is valid.
	 * 
	 * @param fileName The filename to verify.
	 * @return true if the name is valid.
	 */
	public static boolean isValidFileName(String fileName) {
		if (fileName == null || fileName.length() > 255) 
			return false;
		else
			return fileName.matches("[^\\s\\\\/:\\*\\?\\\"<>\\|](\\x20|[^\\s\\\\/:\\*\\?\\\"<>\\|])*[^\\s\\\\/:\\*\\?\\\"<>\\|\\.]$");
	}
	
	public static void main(String[] args) {
		System.out.println("null(未初始化)" + "\t" + isValidFileName(null));
		System.out.println(" .xml" + "\t" + isValidFileName(" .xml"));
		System.out.println(".xml " + "\t" + isValidFileName(".xml "));
		System.out.println(" .xml " + "\t" + isValidFileName(" .xml "));
		System.out.println(".xml." + "\t" + isValidFileName(".xml."));
		System.out.println(".xml" + "\t" + isValidFileName(".xml"));
		System.out.println("	.xml(制表符)" + "\t" + isValidFileName("	.xml"));
		System.out.println(".." + "\t" + isValidFileName(".."));
		System.out.println("fdsa	fdsa(制表符)" + "\t" + isValidFileName("fdsa	fdsa(制表符)"));
		System.out.println("a.txt" + "\t" + isValidFileName("a.txt"));
	}
}

⌨️ 快捷键说明

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