- 浏览: 72182 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
luckaway:
不错!
获取zip包内的目录和文件名 -
luckaway:
近期目标 -
huangxx:
要改变现状
在大城市郁闷的工作 -
sydney:
好好努力,一切都会好起来的.加油哦!
在大城市郁闷的工作 -
pawin:
jva fx scripting与目前的js区别是什么呢?
javaFX翻译下 给学习提供个方便
java 代码
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Enumeration;
- import java.util.List;
- import java.util.StringTokenizer;
- import org.apache.tools.zip.ZipEntry;
- import org.apache.tools.zip.ZipFile;
- public class ZipSearch {
- /**
- * @param args
- * @coding by sunlifan at 2007.7.25
- */
- private List list = new ArrayList();
- public List zipLibSearch(String rootName, int searchlibNum) {
- ZipFile slf_file = null;
- try {
- slf_file = new ZipFile(rootName);
- } catch (Exception e) {
- // TODO: handle exception
- }
- Enumeration e = slf_file.getEntries();
- while (e.hasMoreElements()) {
- ZipEntry slf_zipEntry = (ZipEntry) e.nextElement();
- if (slf_zipEntry.isDirectory()) {
- StringTokenizer st = new StringTokenizer(slf_zipEntry.getName(),
- "/");
- int k = st.countTokens();
- if (k >= 1) {
- List slf_temp = new ArrayList();
- while (st.hasMoreTokens()) {
- slf_temp.add(st.nextToken());
- }
- if (slf_temp.size() > searchlibNum) {
- if (list.contains(slf_temp.get(searchlibNum)) == false) {
- list.add(slf_temp.get(searchlibNum));
- }
- }
- }
- } else {
- if (slf_zipEntry.getSize() < 10240) {
- System.out.println("压缩包内的文件大小不符合规范");
- try {
- slf_file.close();
- } catch (IOException e1) {
- // TODO 自动生成 catch 块
- e1.printStackTrace();
- }
- return null;
- }
- }
- }
- try {
- slf_file.close();
- } catch (IOException e1) {
- // TODO 自动生成 catch 块
- e1.printStackTrace();
- }
- return list;
- }
- public List getZipFile(String rootName)
- {
- ZipFile slf_zipFile=null;
- try {
- slf_zipFile=new ZipFile(rootName);
- } catch (IOException e) {
- // TODO 自动生成 catch 块
- e.printStackTrace();
- }
- Enumeration e=slf_zipFile.getEntries();
- while(e.hasMoreElements())
- {
- ZipEntry slf_zipEntry=(ZipEntry)e.nextElement();
- if(!slf_zipEntry.isDirectory())
- {
- String filename=slf_zipEntry.getName().substring(slf_zipEntry.getName().lastIndexOf("/")+1, slf_zipEntry.getName().length());
- list.add(filename);
- }
- }
- return list;
- }
- }
list中存放根目录下每一级的目录名,通过searchlibNum参数可获取想要的那一级目录的全部文件夹名
此方法并对根目录下所有文件的大小进行了匹对
下面是匹对的方法:
目录比对
java 代码
- public List compare(List list, int userIndex, List fileList) {
- List slf_noTreeList = new ArrayList();
- String[] all=(String[]) list.get(userIndex);
- List slf_hasTreeList = new ArrayList();
- for (int userIndex2 = 0; userIndex2 < all.length; userIndex2++)
- getUserLib: {
- for (int fileTree = 0; fileTree < fileList.size(); fileTree++) {
- // 获取文件包中的目录
- if (fileList.get(fileTree).toString().matches(
- all[userIndex2])) {
- fileList.remove(all[userIndex2]);// 如果目录与用户的要求匹配,则下面不需再匹配这个目录
- slf_hasTreeList.add(all[userIndex2]);
- break getUserLib;
- } else {
- if (slf_noTreeList.contains(all[userIndex2]) == false) {
- slf_noTreeList.add(all[userIndex2]);
- }
- }
- }
- }
- for (int i = 0; i < slf_hasTreeList.size(); i++) {
- if (slf_noTreeList.contains(slf_hasTreeList.get(i))) {
- slf_noTreeList.remove(slf_hasTreeList.get(i));
- }
- }
- return slf_noTreeList;
- }
文件名比对
java 代码
- public List fileNameCheck(String[] fileName, String fileRoot) {
- List slf_dirFilesList = new ArrayList();
- List slf_fileList=new ArrayList();
- slf_fileList=zipSearch.getZipFile(fileRoot);
- String str = null;
- for (int i = 0; i < fileName.length; i++) {
- if (slf_fileList.contains(fileName[i]) == false) {
- str = fileName[i] + "不存在";
- slf_dirFilesList.add(str);
- }
- }
- return slf_dirFilesList;
- }
结果集处理:
java 代码
- public List SeacherResult(List userInfoSeach, String fileName) {
- int needTreeNum = userInfoSeach.size();
- FileCheckTree slf_fileCheckTree = new FileCheckTree();
- List list = new ArrayList();
- List resultlist = new ArrayList();
- List slf_noTreeList = new ArrayList();
- for (int nowSeachTree = 1; nowSeachTree <= needTreeNum; nowSeachTree++)
- b:{
- //System.out.println(needTreeNum);
- list = zipSearch.zipLibSearch(fileName, nowSeachTree-1);
- if(list!=null)
- {
- if(list.size()==0)
- {
- slf_result = "此文件目录不完整,请检查......";
- resultlist.add(slf_result);
- return resultlist;//fileSeach.fileTreeChoose(fileName, nowSeachTree);
- }else{
- slf_noTreeList = slf_fileCheckTree.compare(userInfoSeach,nowSeachTree - 1, list);
- if (!slf_noTreeList.isEmpty()) {
- for (int i = 0; i < slf_noTreeList.size(); i++) {
- slf_result = "第" + nowSeachTree + "层的"+ slf_noTreeList.get(i) + "目录不存在";
- resultlist.add(slf_result);
- }
- }
- else{
- if(nowSeachTree==needTreeNum&&needTreeNum==1)
- {
- return null;
- }
- else{
- resultlist=null;
- break b;
- }
- }
- }
- }
- else{
- slf_result="压缩包内文件大小不符合规范,请检查.......";
- resultlist.add(slf_result);
- return resultlist;
- }
- }
- if(resultlist==null)
- {
- return null;
- }
- else{
- return resultlist;
- }
- }
发表评论
-
cas单点登录
2008-01-30 16:06 15251. 配置SSL 在要安装CAS的机器上为Tomcat生成用于 ... -
tomcat监视内存信息
2008-01-28 15:23 1771Java version:1.5.0_03 tomcat ve ... -
mediaframe使用
2008-01-13 20:39 1563<applet name="mediafr ... -
dom4j资料
2007-11-23 22:01 1066dom4j 是一种解析 XML 文档的开放源代码 XML 框架 ... -
lomboz配置JNDI
2007-09-05 10:15 1007由于lomboz不能象myeclipse那样把项目上传到tom ... -
oscache结合js分页
2007-08-16 10:33 1197这样的分页适用于服务 ... -
报表系统的学习
2007-08-12 17:28 1029最近在用润乾报表做一个WEB报表系统,感觉不是很舒服,润乾提供 ... -
EJB使用(JBOSS+MYSQL的JNDI配置)
2007-08-07 12:34 3294java 代码 根据mysql_ds.xml ... -
oscache学习(三)
2007-07-28 16:19 3561在实际应用中除了JSP标签库,还可以使用OSCache提供的J ... -
oscache学习(二)
2007-07-28 16:19 1528=========usecached 标签属性 需要放在另一个 ... -
oscache学习(一)
2007-07-28 16:18 1849OSCache是一个开放式资源缓冲库,可从http://www ... -
ZIP包解压缩
2007-07-25 21:06 1348一个ZIP压缩包解压的代码,使用了ANT.JAR包解决了解压过 ...
相关推荐
通过使用`ZipFile`和`ZipEntry`,我们可以方便地获取ZIP文件内的文件名,并结合多线程技术(如`ExecutorService`)来提高解压缩的效率。这样的实现方式使得在处理大量文件时,程序能够更快速、更高效地运行。
这个"各种获取文件名的方法.zip"压缩包提供了一系列的方法来帮助我们高效地完成这项工作。下面,我们将深入探讨几种主要的获取文件名的策略。 1. **Python编程语言**: Python是一个广泛用于文件操作的编程语言,...
例如,`FOR %i IN (%filename%) DO`语句可以用来解析文件名和路径。 在“分离路径和文件名.cmd.txt”中,可能包含以下内容: ```cmd @echo off set "filename=C:\path\to\file.ext" for %%a in ("%filename%") do ...
然后,通过迭代这个对象,我们可以访问每个条目(即压缩的文件或目录),获取其文件名和内容。关键在于正确处理文件名的编码。在某些情况下,文件名可能以GBK或其他编码存储,这时我们需要进行转换,才能正确显示...
在Python中,我们可以使用os模块的os.listdir()方法来获取一个目录下的所有文件和文件夹的名称。但是,该方法会返回所有子目录的内容,包括二级文件夹内的文件。如果我们只想提取一级目录内的文件名,不包括任何子...
4. **ZIP文件格式**:ZIP是一种常用的文件归档格式,可以将多个文件和目录打包成一个单一的文件,便于存储和传输。ZIP文件内部包含了一个文件头,记录了每个成员文件的信息,如文件名、压缩方法、时间戳等。zlib库...
在IT行业中,尤其是在系统管理和自动化任务执行的过程中,有时我们需要快速获取特定目录下所有文件的名称。这个场景在处理大量文件时尤其常见,例如日志管理、数据备份或批量操作。标题"生成当前文件夹下的所有...
这个步骤将获取当前系统的日期和时间信息。 3. **配置“获取系统时间”**:在“获取系统时间”的设置中,可以指定需要的时间格式,例如"yyyyMMdd_HHmmss",这会生成类似"20230406_153027"的格式,包含了年、月、日...
RAR是一种流行的压缩格式,由尤金·罗沙利克开发,它提供了比ZIP更高的压缩率和更高级的功能,如恢复记录以修复损坏的文件。在Windows环境中,我们通常使用WinRAR这样的第三方工具来管理和操作RAR文件。但在编程环境...
本压缩包文件“Excel-VBA实用技巧范例-获取文件名.zip”可能包含一系列示例代码和教程,旨在帮助用户掌握如何在VBA中有效地获取和操作文件名。 首先,我们要了解VBA(Visual Basic for Applications)是Microsoft ...
"改名-文件名批量繁体转简体-KRename.zip"就是一个专门解决此类问题的实用工具,它包含了KRenameShell.dll、KRename.exe、KR.exe、KRename.exe.Manifest、Readme.txt、Language和Scripts等多个关键组件,能够帮助...
然而,随着Unicode的普及,现在的Zip文件可以使用UTF-8或其他Unicode编码来保存文件名和目录名,以确保国际化支持。当解析Zip文件时,必须正确识别和处理这些编码,否则可能导致乱码或无法正确解压。 Zip文件的结构...
而Zip是一种常见的文件压缩格式,它允许用户将多个文件和目录打包成一个单一的可压缩文件,便于存储和传输。在Flex开发中,ActionScript可以用来解析和操作Zip文件,以便在Flash应用程序中实现类似的功能。 标题...
FSO对象提供了丰富的文件和目录操作功能,包括创建、读取、写入、移动和重命名文件。例如,`CreateObject("Scripting.FileSystemObject")`用于创建FSO对象,`FileObject.Rename`方法用于改文件名。 3. 批量改文件名...
易语言程序可以通过读取这个区段并解析其内容来获取ZIP文件中的所有文件名。 "读取某个ZIP文件"则涉及文件的解压缩过程。找到对应文件在ZIP文件中的位置后,我们需要使用解压缩算法(如DEFLATE)来解码数据块。解压...
2. **发现隐藏目录和文件**:通过短文件名漏洞,可能能访问到服务器上未公开的目录或文件,这可能包含敏感信息。 3. **权限提升**:如果服务器配置错误,攻击者可能利用短文件名漏洞获得更高权限,进而执行任意代码...
你可以使用`TZipFile.Create`方法来创建一个新的`TZipFile`实例,然后通过`Add`方法将文件添加到ZIP档案中,或者使用`ExtractToFile`方法将ZIP内的文件解压缩到指定位置。例如: ```delphi uses System.Zip; var ...
【描述】"xiaoniaofeifei.zip包"没有提供具体的文件内容描述,但根据文件名,我们可以推测这可能是一个个人或项目的归档,或者包含某种特定的信息。"xiaoniaofeifei"这个标签可能是文件主题或创建者的名字,也可能与...
3. **提取文件**: 虽然示例代码中未实现具体提取文件的功能,但展示了如何获取ZIP文件中的所有条目名称,这为后续实现提取功能打下了基础。 #### 三、关键技术点 ##### 1. 使用`ZipFile`类读取ZIP文件 - **创建...
总的来说,"批量快速复制文件名.zip"是一个旨在提升Windows用户在处理文件名操作效率的实用工具,通过右键菜单集成,简化了复制文件和文件夹名称的过程,对于需要频繁处理文件信息的用户来说,它是一个非常有价值的...