package org.nutz.filepool; import org.nutz.lang.Files; import org.nutz.lang.Lang; import org.nutz.lang.random.R; import java.io.File; public class UU32FilePool implements FilePool { protected File root; public UU32FilePool(String path) { this.root = Files.createDirIfNoExists(path); } public File createFile(String suffix) { String key = R.UU32(); File dir = new File(root, key.substring(0, 2)); Files.createDirIfNoExists(dir); return new File(dir, key.substring(2)); } public void clear() { Files.deleteDir(root); this.root = Files.createDirIfNoExists(root); } //----------------------------- // 其他方法一概不实现 //----------------------------- public long current() { throw Lang.noImplement(); } public boolean hasFile(long fId, String suffix) { throw Lang.noImplement(); } @Override public File removeFile(long fId, String suffix) { throw Lang.noImplement(); } public long getFileId(File f) { throw Lang.noImplement(); } public File getFile(long fId, String suffix) { throw Lang.noImplement(); } public File returnFile(long fId, String suffix) { throw Lang.noImplement(); } public boolean hasDir(long fId) { throw Lang.noImplement(); } public File removeDir(long fId) { throw Lang.noImplement(); } public File createDir() { throw Lang.noImplement(); } public File getDir(long fId) { throw Lang.noImplement(); } public File returnDir(long fId) { throw Lang.noImplement(); } }