/** * 該類用於處理項目資源的工具類 * <p> * 要注意的是:項目資源必需要放到工程目錄src下,也能夠應用項目外部資源需指明絕對路徑 */ public class FileUtil { //項目文件必須位於src目錄下的下列3個子文件夾之一 private static final String FILE = "file/"; //存放普通文件 private static final String IMAGE = "images/"; //存放圖片文件 private static final String AUDIO = "music/"; //存放音頻文件 private static final HashMap<String, String> MAP = new HashMap<String, String>(); static { MAP.put("file", FILE); MAP.put("image", IMAGE); MAP.put("audio", AUDIO); } /** * 返回資源文件的URL地址 * @param type 資源文件類型,包括文件、圖片和音頻 * @param path 資源文件路徑 外部文件時要用絕對路徑 (如 C:/me.jpg) 若是是內部文件則是文件名稱(如:me.jpg) * @return 資源文件的URL地址 */ public static URL getURL(String type, String path) { String dir = MAP.get(type); return URLClassLoader.getSystemClassLoader().getResource(dir + path); } //獲取文件資源 public static File getFile(String path) { URL url = getURL("file", path); if (url == null) { return null; } return new File(url.getFile()); } //獲取圖片資源 public static Image getImage(String path) { URL url = getURL("image", path); if(url == null) { return null; } return Toolkit.getDefaultToolkit().getImage(url); } //獲取音頻資源 public static AudioClip getAudio(String path) { URL url = getURL("audio", path); if(url == null) { return null; } return Applet.newAudioClip(url); } }
用法簡單明瞭。須要的朋友自取。java