`
KimShen
  • 浏览: 34984 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
阅读更多
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.InputStream;
import java.io.OutputStream;

public class Main {

	private final static int parts = 1024 * 1024 * 10;

	private final static String path = "C:" + File.separator;

	public static void main(String[] args) throws Exception {
		separate();
		consolidate();
	}

	public static void separate() throws Exception {
		byte[] temps = new byte[parts];
		InputStream input = Main.class.getResourceAsStream("FAQ 8-13.rar");
		int nRead;
		int index = 0;
		// 从输入流中读入字节流,然后写到文件中
		while ((nRead = input.read(temps)) > 0) {
			OutputStream output = new FileOutputStream(new File(path, "part" + index++ + ".zip"));
			output.write(temps, 0, nRead);
			output.close();
		}
		input.close();
		System.out.println("SUCCESS");
	}

	public static void consolidate() throws Exception {
		File files = new File(path);
		String[] list;
		list = files.list(new DirFilter());
		
		int nRead;
		byte[] temps = new byte[parts];
		OutputStream output = new FileOutputStream(new File(path, "FAQ.rar"));
		for (String name : list)
		{
			InputStream input = new FileInputStream(new File(path,name));
			while ((nRead = input.read(temps)) > 0) {
				output.write(temps, 0, nRead);
			}
		}
		output.close();
		System.out.println("SUCCESS");
	}
}
// 名称过滤接口,accept返回true才通过过滤
class DirFilter implements FilenameFilter {
	// dir - 被找到的文件所在的目录
	// name - 文件的名称
	public boolean accept(File dir, String name) {
		boolean test = name.matches("part[0-9].*zip");
		return test;
	}
}


分享到:
评论
113 楼 aa87963014 2010-08-16  
留邮箱 要代码的 我就不说了。

比起这些代码 我倒想知道 楼主 的 xls 是怎么弄的
112 楼 myheart 2010-08-16  
不说话,只发一个链接 http://www.iteye.com/topic/738055
111 楼 czxiyj 2010-08-16  
浪费别人时间。
110 楼 jx277353624 2010-08-16  
你这个不解释有带着程序员的傲气~哇嘎嘎~咋一看代码我立刻就想关了~

再一看咦,咋还有这么多下载~再看代码~~那就不解释了哈~懂得自然懂!

我不是很懂,装懂一会~O(∩_∩)O哈哈~

赞楼主一个!
109 楼 aa87963014 2010-08-16  
真是 不知道 怎么说。楼主 想共享一个 学习笔记
结果太大了。 发了一个 分割 和合并的 方法。 让别人去下载 然后合并。
搞笑的是 来的一句 懂的人自然懂。
更搞笑的是 下面一群人 都不知道 怎么合并
最搞笑的是 一群人 连楼主共享的是什么东西都不知道 发邮箱 求
108 楼 lich0079 2010-08-16  
private final static String path = "C:" + File.separator;
这个的确是有点。。。
107 楼 archerfrank 2010-08-16  
archerfrank@gmail.com
楼主发一份吧,共同进步。
106 楼 skull 2010-08-16  
skulldom@gmail.com

给我来一份。谢谢
105 楼 chenchen5000 2010-08-16  
为什么我没有看到下载的文件呢?难道是我级别不够!
104 楼 youjianbo_han_87 2010-08-16  
来晚了? 什么也没看见。
103 楼 timonzhang 2010-08-16  
LZ啊,看到自然懂,特地上来顶你,山上的咯?中国程序员自以为是的太多,所以很多人都不懂。。。。不懂的人多正常的,因为聪明人自然少
102 楼 domsn 2010-08-16  
8971092@qq.com 感激不尽
101 楼 qj200040 2010-08-16  
应该是将一个文件分割成10M的小文件,然后再合并成FAQ压缩文件!谢谢你哈
100 楼 华天下 2010-08-16  
365916703@qq.com 感激不尽
99 楼 shijiyu 2010-08-16  
一个是分包 一个是合并
98 楼 realyaoyao 2010-08-16  
新手,dayaoyao19@163.com
谢谢!
97 楼 woodrui 2010-08-16  
这个是rar分卷压缩成zip格式然后将zip分卷合并成rar格式。。。
96 楼 zk279444107 2010-08-16  
zk279444107@gmail.com
95 楼 KimHo 2010-08-16  
我也要一份,谢谢lz
gdfskim26@21cn.com
94 楼 wendal 2010-08-16  
没看出多少技术含量

不就是分割文件?? 而且正则表达式也写错了吧? 应该是 part[0-9]*.+\\.zip吧

相关推荐

Global site tag (gtag.js) - Google Analytics