2 a494567309 a494567309 于 2016.02.16 18:24 提问

java 把文件夹里 类似文件名打包

大神们好:

现在有一个目录 里面有许多文件 格式类似 12345678-201601.001.txt ,12345678-201601.002.txt
这些文件 我想把这些相类似的文件打包成zip。

我现在会用传参数比如 12345678 和201601这2个条件找到类似文件打包。
但是不用参数把目录下相类似的文件打包打包 我不会了!!!!!!
就是怎么直接用main方法不传参数,直接把目录下所有类似的文件打包。
求给点思路或者代码 ,万分感谢.

3个回答

daidaineteasy
daidaineteasy   Ds   Rxr 2016.02.16 18:40

你说的这些类似文件是怎么区分的呢。目录下的所有文件名你都能得到,
那么进行分类的时候,你就需要考虑是该以什么样的方式来区分,
例如如果以“-”这个符号之前的字符串相同来进行分类的话,那你就判断是否前边的内容相同,这样就能区分出来了。
或者 你如果想按照201601、201602按照不同月份来进行区分的话,就根据“-”符号后边这6位字符串进行区分。

a494567309
a494567309 谢谢给我思路
2 年多之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.02.16 18:36

java提供了Zip压缩文件相关的工具类ZipOutputStream,使用方法很简单。按你的需求,就遍历指定目录,然后将符合你的要求的文件都打包到压缩文件中。
可以不用传递参数,直接就是打包你所的两种类型。
首先,你需要获取指定目录下所有的文件,然后进行文件名称过滤,然后就是把符合条件的文件添加到压缩文件中。
这里有个类似需求的文章,可以参考:http://blog.csdn.net/sxdtzhaoxinguo/article/details/20550537

a494567309
a494567309 文件名过滤是个难题。不用参数 有的是1个 有的是多个
2 年多之前 回复
Mr_dsw
Mr_dsw   Ds   Rxr 2016.02.16 20:34

java中提供了ZipInputstream等类进行解压缩,你可以根据相似性分类进行查找

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
如何把文件夹内文件名批量导出到txt生成清单
在DOS年代dir命令是使用最广泛的命令之一,用来显示目录内的内容,windows系统依然保存了这个命令。在这里我们只要通过使用/b这个参数,就可以方便的使dir命令将目录内的内容以清单的形式列出。 2 获取文件夹列表:在cmd命令提示符下进入要获取文件夹目录的文件夹,具体操作可以参考本系列经验[1]在当前文件夹下打开cmd命令:http://jingyan.baidu.com/a
如何批量提取音乐文件夹中的歌名
好久不更新。该说的都在微博说了。下午想起一个问题,也是我曾经遇到过的,如题。搜了不少资料,一一试用后整理如下。是精华版哦。闲言少叙,上菜。   方法有三: 第一种 1.运行“cmd”,进入DOS环境【不知道怎么“运行”?好吧,I服了U。点屏幕左下角的“开始”→运行。或直接用组合键“WINDOWS+R”】; 2.进入音乐文件夹【比如要进E:\1\2,方法:输入“E:”,回车,再输“cd 1”,回车,
如何将文件夹内的文件名(或图片名)自动写入excel表格
有时我们需要把文件夹里的文件名整理起来做成一个表格,可是文件太多,一个一个复制很麻烦,所以现在就告诉大家一个超级简单的方法来解决这个问题!用win7做示范,这个学会了其他系统也是大同小异的。 1.首先,把需要做在表格里的文件放到一个文件夹里,命名尽量简单(为了后面步骤中自己输入方便),如“123”; 2。把建好的文件夹放到除了c盘以外的盘中,我放在了G盘(也是为了后面步骤输入方便); 3.然...
java实现批量生成文件夹和批量修改文件名
1、上代码:package com.yanhui.util;import java.io.File; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry;@SuppressWarnings("rawtypes") public class _file
批量修改文件夹中文件名称方法总结
工作中有个需求,要把文件夹中几千个pdf文件加上前缀重新命名。这事挺简单,总结对比一下解决方案。 1 用C#写个数据处理程序 主要用到FileInfo类、DirectoryInfo类,代码就不粘了。 2 使用bat命令 新建一个txt文件,输入for /f %%i in ('dir /b *.pdf') do (ren %%i %%i测试),这段话的意思是将所有的pdf文件的名称前面加
小技巧,输出某目录下文件名到excel
将d盘下的singer目录下的所有文件的文件名,新建excel并输出到d盘下的temp.xls文件中,命令行窗口输入, dir D:\Singer /b > d:\temp.xls
一次性复制文件夹中的所有文件名,或所有文件的完整路径
 1. 一次性复制文件夹中的所有文件名 在文件夹中新建一个txt文件,其中输入命令 DIR *.*  /B >LIST.TXT 保存后,更改文件后缀名为.dat,双击运行,生成新的txt文件(LIST.txt),在LIST.txt文件中就保存着文件夹下的所有文件名。 2.一次性复制文件夹中的所有文件的完整路径 在文件夹中新建一个txt文件,其中输入命令
如何读取文件夹下的所有文件名到TXT文件中
最近做分类器的训练,需要图片的文件名放入TXT文件中供程序读取,手工一个一个输入费事费力,用dos命令,很容易实现这一操作。 1、强所有图片临时复制到C盘的一个临时文件AA夹下, 2.打开dos窗口,以此输入: CD: CD\AA DIR /b>AAA.TXT 3、返回AA文件夹下,多了一个AAA. TXT文件,打开后看到文件名称全部提取成功。 如果要提取
将指定文件夹下的所有文件打包下载
实现方法: 创建一个临时压缩文件,然后另存为到本地指定路径private void zipFile(String sourcePath){ /**创建一个临时压缩文件, * 我们会把文件流全部注入到这个文件中 * 这里的文件你可以自定义是.rar还是.zip*/ FileOutputStream fos = null;
读取文本中的文件名,根据文件名从文件夹中把文件复制到另一个文件夹
文本中除开头两行每行都记录着另外一些文本的文件名,并已经排好序,根据这些文件名把文件从文件夹中复制到另外一个文件夹,并在文件名前根据在文本中的顺序加上序号 import os f = open("molscore.txt") lines = f.readlines() mol_list = [] i=1 for line in lines: if i<=100 and not