文件解压,文件/目录更名,文件/目录删除,文件/目录移动
将指定的src文件解压到dstDir目录
public static void unzip(File src, File dstDir) throws IOException { ZipFile zipFile = null; try { // 创建zip文件对象 zipFile = new ZipFile(src); // 得到zip文件条目枚举对象 Enumeration zipEnum = zipFile.getEntries(); // 定义输入输出流对象 // 定义对象 ZipEntry entry = null; // 循环读取条目 while (zipEnum.hasMoreElements()) { // 得到当前条目 entry = (ZipEntry) zipEnum.nextElement(); String entryName = new String(entry.getName()); // 用/分隔条目名称 String names[] = entryName.split("\\/"); int length = names.length; String path = dstDir.getAbsolutePath(); for (int v = 0; v < length; v++) { if (v < length - 1) { // 最后一个目录之前的目录 path += "/" + names[v] + "/"; createDir(path); } else { // 最后一个 if (entryName.endsWith("/")) // 为目录,则创建文件夹 createDir(dstDir.getAbsolutePath() + "/" + entryName); else { InputStream input = null; OutputStream output = null; try {// 为文件,则输出到文件 input = zipFile.getInputStream(entry); output = new FileOutputStream(new File(dstDir.getAbsolutePath() + "/" + entryName)); byte[] buffer = new byte[1024 * 8]; int readLen = 0; while ((readLen = input.read(buffer, 0, 1024 * 8)) != -1) output.write(buffer, 0, readLen); // 关闭流 output.flush(); } finally { if (input != null) input.close(); if (output != null) output.close(); } } } } } } finally { if (zipFile != null) zipFile.close(); } }
该目录下 所有文件 集合
File[] subFiles = file.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { if (pathname.isFile()) return true; return false; } });
与文件相关的工具类库。
其内容包括文件/目录更名,文件/目录删除,文件/目录移动。
public class FileUtil { protected static Logger logger = LoggerFactory.getLogger(FileUtil.class); public static boolean copyDirectory(String oldPath, String newPath) { File b = new File(newPath); File a = new File(oldPath); try { FileUtils.copyDirectoryToDirectory(a, b); } catch (IOException e) { logger.error("", e); return false; } return true; } public static boolean moveDirectory(String oldPath, String newPath) { File b = new File(newPath); File a = new File(oldPath); return a.renameTo(b); } /** * 将文件oldFile移为newFile * * @param oldFile * @param newFile * @return */ public static boolean moveFile(String oldFile, String newFile) { File a = new File(oldFile); File b = new File(newFile); return moveFile(a, b); } /** * 将文件移至指定目录,文件名不变 * * @param file * @param path * @return */ public static boolean moveFile(File file, String path) { File tmp = new File(path); if (!tmp.exists()) tmp.mkdirs(); File b = new File(path + File.separatorChar + file.getName()); return moveFile(file, b); } /** * 将文件移至指定目录,文件名不变 * * @param file * @param path * @return 移动是否成功 */ public static boolean moveFile(File srcFile, File dstFile) { return srcFile.renameTo(dstFile); } public static boolean deleteDirectory(String sPath) { // 如果sPath不以文件分隔符结尾,自动添加文件分隔符 if (!sPath.endsWith(File.separator)) { sPath = sPath + File.separator; } File dirFile = new File(sPath); // 如果dir对应的文件不存在,或者不是一个目录,则退出 if (!dirFile.exists() || !dirFile.isDirectory()) return false; return deleteDirectory(dirFile); } public static boolean copyFile(String oldPath, String newPath) { boolean bool = false; File newFile = new File(newPath); InputStream inStream = null; OutputStream outStream = null; try { // 复制文件(保留上传的原文件,新的文件名为id_name.zip) inStream = new FileInputStream(oldPath); newFile.createNewFile(); outStream = new FileOutputStream(newPath); byte[] by = new byte[2048]; while (inStream.available() > 0) { int i = inStream.read(by); outStream.write(by, 0, i); } } catch (Exception e) { System.out.println(e.getMessage()); } finally { if (null != inStream) { try { inStream.close(); } catch (IOException e) { } } if (null != outStream) { try { outStream.flush(); } catch (IOException e) { System.err.println(e.getCause()); } try { outStream.close(); } catch (IOException e) { System.err.println(e.getCause()); } bool = true; System.out.println("复制完毕! "); } } return bool; } public static boolean deleteDirectory(File f) { boolean flag = true; // 删除文件夹下的所有文件(包括子目录) File[] files = f.listFiles(); for (int i = 0; i < files.length; i++) { // 删除子文件 if (files[i].isFile()) { flag = deleteFile(files[i].getAbsolutePath()); if (!flag) break; } // 删除子目录 else { flag = deleteDirectory(files[i].getAbsolutePath()); if (!flag) break; } } if (!flag) return false; // 删除当前目录 if (f.delete()) { return true; } else { return false; } } public static boolean deleteFile(String sPath) { File file = new File(sPath); if (file.isFile() && file.exists()) { return file.delete(); } return false; } public static String getTomcatRootPath(HttpServletRequest req) { String s = req.getSession().getServletContext().getRealPath("/"); s = new File(s).getParent() + File.separatorChar + "ROOT"; return s; } /** * 装输入流写入文件中 * * @param is * @param f * @return */ public static boolean writeFile(InputStream is, File f) { FileOutputStream fos = null; try { fos = new FileOutputStream(f); byte[] buf = new byte[10240]; int i; while ((i = is.read(buf)) > 0) fos.write(buf, 0, i); } catch (IOException e) { e.printStackTrace(); return false; } finally { if (is != null) try { is.close(); } catch (IOException e) { } if (fos != null) try { fos.close(); } catch (IOException e) { } } return true; } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
不能进行一些处理,比如文件太多,页面显示太慢,想移动一些文件到旧的目录,或一些其它的文件管理操作,就做了一个简单的资源管理器,为了简单,代码和html全在一个文件里,什么压缩解压的功能也没加 注:把文件放...
改名、移动、删除文件或目录 显示‘打开方式’对话框 显示文件属性对话框 显示目录选择对话框 显示目录选择对话框并指定初始目录 替换正运行的DLL 检查文件是否ASCII格式 检查文件是否在本地驱动器 检查文件是否已...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有,更有文件内容比较、同步文件夹、批量重命名文件、分割合并文件、创建/检查文件校验(MD5/SFV) 等实用功能。内置 ZIP/TAR/GZ/TGZ 格式的压缩/解压功能...
* mv tools tool /* 把 tools 目录改名为 tool */ * ln -s tool bac /* 给 tool 目录创建名为 bac 的符号链接 */ * cp -a tool /home/leavex/www /* 把 tool 目录下所有文件复制到 www 目录下 */ * rm go.tar /* ...
例如,将 /etc/hosts 文件移动到 /home 目录:mv /etc/hosts /home 8. 复制文件或目录:cp cp 命令用于复制文件或目录。常用的选项和参数包括: * -a:此参数的效果和同时指定"-dpR"参数一样。 * -d:当复制符号...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有,更有文件内容比较、同步文件夹、批量重命名文件、分割合并文件、创建/检查文件校验 (md5/sfv) 等实用功能。内置 zip/tar/gz/tgz 格式的压缩/解压...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有,更有文件内容比较、同步文件夹、批量重命名文件、分割合并文件、创建/检查文件校验 (MD5/SFV) 等实用功能。内置 ZIP/TAR/GZ/TGZ 格式的压缩/解压...
7. 功能拓展:虽然描述中没有明确提及,但一款优秀的文件操作软件通常会支持更多的功能,如文件移动、复制、删除,甚至可能包含文件的加密、解密、压缩和解压等。此外,可能还有自定义快捷键、个性化设置等选项,以...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有,更有文件内容比较、同步文件夹、批量重命名文件、分割合并文件、创建/检查文件校验(MD5/SFV) 等实用功能。 内置 ZIP/TAR/GZ/TGZ 格式的压缩/解压...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有,更有文件内容比较、同步文件夹、批量重命名文件、分割合并文件、创建/检查文件校验 (MD5/SFV) 等实用功能。内置 ZIP/TAR/GZ/TGZ 格式的压缩/解压...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有。 Total Commander(原名 Windows Commander)是强大的 Windows 资源管理器终结者。以其使用方便、功能强大、设计体贴、稳定可靠征服了无数电脑...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有,更有文件内容比较、同步文件夹、批量重命名文件、分割合并文件、创建/检查文件校验 (md5/sfv) 等实用功能。内置 zip/tar/gz/tgz 格式的压缩/解压...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有,更有文件内容比较、同步文件夹、批量重命名文件、分割合并文件、创建/检查文件校验(MD5/SFV) 等实用功能.内置 ZIP/TAR/GZ/TGZ 格式的压缩/解压功能,...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有,更有文件内容比较、同步文件夹、批量重命名文件、分割合并文件、创建/检查文件校验(MD5/SFV) 等实用功能.内置 ZIP/TAR/GZ/TGZ 格式的压缩/解压功能,...
* mv 命令:用于重命名文件和目录,例如:mv tools tool /* 把 tools 目录改名为 tool * ln 命令:用于创建符号链接,例如:ln -s tool bac /* 给 tool 目录创建名为 bac 的符号链接 * cp 命令:用于复制文件,例如...
方便,功能强大,搜索、复制、移动、改名、删除,文件内容比较、同步文件夹、批量重命名文件、分割合并文件。内置 ZIP/TAR/GZ/TGZ 格式的压缩/解压功能,ZIP 格式还支持创建加密及自解包功能,搜索功能同样支持在...
一般的文件操作,如搜索、复制、移动、改名、删除等功能应有尽有,更有文件内容比较、同步文件夹、批量重命名文件、分割合并文件、创建/检查文件校验 (MD5/SFV) 等实用功能。内置 ZIP/TAR/GZ/TGZ 格式的压缩/解压...
例如:mv -i file1 dir1 移动文件 file1 到目录 dir1,并询问用户是否覆盖文件。 压缩和解压命令 ### Linux tar 压缩命令:打包与解打包命令 tar 命令用于打包和解打包文件。常用选项有: * -c:创建存档 * -x:...
7. **mv**:移动或重命名文件或目录,`mv file1 file2`将file1改名为file2。 8. **cat**:查看文件内容,常用于简单文本文件,如`cat filename`。 9. **more/less**:分页查看文件内容,`more`和`less`都可以,但...