日期:2011-01-26 02:54:00 来源:本站整理
<b>Java文件操作加强工具</b>[Java编程]
本文“<b>Java文件操作加强工具</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java的文件操作太底子,贫乏很多实用工具,比方对目录的操作,支持就非常的差了.假如你常常用Java操作文件或文件夹,你会认为反复编写这些代码是令人懊丧的问题,并且要大量用到递归.
下面是的一个办理筹划,借助Apache Commons IO工具包来简单实现文件(夹)的复制、移动、删除、获得大小等操作.
import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.io.*; /** * 文件工具箱 * * @author leizhimin 2008-12-15 13:59:16 */ public final class FileToolkit { private static final Log log = LogFactory.getLog(FileToolkit.class); /** * 复制文件大概目录,复制前后文件完好一样. * * @param resFilePath 源文件途径 * @param distFolder 目标文件夹 * @IOException 当操作发生非常时抛出 */ public static void copyFile(String resFilePath, String distFolder) throws IOException { File resFile = new File(resFilePath); File distFile = new File(distFolder); if (resFile.isDirectory()) { FileUtils.copyDirectoryToDirectory(resFile, distFile); } else if (resFile.isFile()) { FileUtils.copyFileToDirectory(resFile, distFile, true); } } /** * 删除一个文件大概目录 * * @param targetPath 文件大概目录途径 * @IOException 当操作发生非常时抛出 */ public static void deleteFile(String targetPath) throws IOException { File targetFile = new File(targetPath); if (targetFile.isDirectory()) { FileUtils.deleteDirectory(targetFile); } else if (targetFile.isFile()) { targetFile.delete(); } } /** * 移动文件大概目录,移动前后文件完好一样,假如目标文件夹不存在则成立. * * @param resFilePath 源文件途径 * @param distFolder 目标文件夹 * @IOException 当操作发生非常时抛出 */ public static void moveFile(String resFilePath, String distFolder) throws IOException { File resFile = new File(resFilePath); File distFile = new File(distFolder); if (resFile.isDirectory()) { FileUtils.moveDirectoryToDirectory(resFile, distFile, true); } else if (resFile.isFile()) { FileUtils.moveFileToDirectory(resFile, distFile, true); } } /** * 重命名文件或文件夹 * * @param resFilePath 源文件途径 * @param newFileName 重命名 * @return 操作成功标识 */ public static boolean renameFile(String resFilePath, String newFileName) { String newFilePath = StringToolkit.formatPath(StringToolkit.getParentPath(resFilePath) + "/" + newFileName); File resFile = new File(resFilePath); File newFile = new File(newFilePath); return resFile.renameTo(newFile); } /** * 读取文件大概目录的大小 * * @param distFilePath 目标文件大概文件夹 * @return 文件大概目录的大小,假如获得失利,则返回-1 */ public static long genFileSize(String distFilePath) { File distFile = new File(distFilePath); if (distFile.isFile()) { return distFile.length(); } else if (distFile.isDirectory()) { return FileUtils.sizeOfDirectory(distFile); } return -1L; } /** * 判断一个文件能否存在 * * @param filePath 文件途径 * @return 存在返回true,不然返回false */ public static boolean isExist(String filePath) { return new File(filePath).exists(); } /** * 本地某个目录下的文件列表(不递归) * * @param folder ftp上的某个目录 * @param suffix 文件的后缀名(比方.mov.xml) * @return 文件名称列表 */ public static String[] listFilebySuffix(String folder, String suffix) { IOFileFilter fileFilter1 = new SuffixFileFilter(suffix); IOFileFilter fileFilter2 = new NotFileFilter(DirectoryFileFilter.INSTANCE); FilenameFilter filenameFilter = new AndFileFilter(fileFilter1, fileFilter2); return new File(folder).list(filenameFilter); } /** * 将字符串写入指定文件(当指定的父途径中文件夹不存在时,会最大限度去成立,以保证保存成功!) * * @param res 原字符串 * @param filePath 文件途径 * @return 成功标志 */ public static boolean string2File(String res, String filePath) { boolean flag = true; BufferedReader bufferedReader = null; BufferedWriter bufferedWriter = null; try { File distFile = new File(filePath); if (!distFile.getParentFile().exists()) distFile.getParentFile().mkdirs(); bufferedReader = new BufferedReader(new StringReader(res)); bufferedWriter = new BufferedWriter(new FileWriter(distFile)); char buf[] = new char[1024]; //字符缓冲区 int len; while ((len = bufferedReader.read(buf)) != -1) { bufferedWriter.write(buf, 0, len); } bufferedWriter.flush(); bufferedReader.close(); bufferedWriter.close(); } catch (IOException e) { flag = false; e.printStackTrace(); } return flag; } } |
以上是“<b>Java文件操作加强工具</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论