`
KimShen
  • 浏览: 34972 次
  • 性别: 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;
	}
}


分享到:
评论
153 楼 wangzh1118 2010-11-16  
没有附件了?
152 楼 kill2you 2010-08-28  
看了,楼主是个有心人,骂人的就别在这闹腾了,丢人
151 楼 huahuashijie888 2010-08-28  
前面装X的真多,哥们些,这是楼主的一些笔记,资料,通过他发的两段读写程序,把下载下来的5个压缩文件合并成一个文件,否则不能解压缩~~
150 楼 raychueng 2010-08-26  
我也是个初学者,
希望大拿们都能分享点儿宝贵的资料~
经验能让我少走很多弯路
149 楼 qj200040 2010-08-26  
KimShen 写道
qj200040 写道
楼主,从你贴出来这个帖子我就一直关注到现在。我想问一下,你之前是没有将东西共享出去来的吧?你当时就是纯粹用代码写给懂的人看的?我之前确实没有看到下载的地方...对此表示有点疑惑。java初学者求你解释一下!行不?

我没事贴代码干吗尼...,在je贴码除了找骂还能干吗?我是找不到分包压缩的工具阿

我总算是看明白了。里面的东西也能看得懂一些。看来我也一边学一边总结才行,我也学了一年了,感觉什么都没有似的!
148 楼 爵士叉烧包 2010-08-25  
楼主发我一份吧~~正好想好好学下Java
August_zp@163.com
147 楼 mengzhaopeng 2010-08-25  
有点乱,看不大明白
146 楼 RonQi 2010-08-25  
KimShen 写道
qj200040 写道
楼主,从你贴出来这个帖子我就一直关注到现在。我想问一下,你之前是没有将东西共享出去来的吧?你当时就是纯粹用代码写给懂的人看的?我之前确实没有看到下载的地方...对此表示有点疑惑。java初学者求你解释一下!行不?

我没事贴代码干吗尼...,在je贴码除了找骂还能干吗?我是找不到分包压缩的工具阿

WinRAR不能做分卷压缩吗?
145 楼 xiaobao0501 2010-08-23  
佛只度有缘人.
顶楼主
144 楼 KimShen 2010-08-23  
qj200040 写道
楼主,从你贴出来这个帖子我就一直关注到现在。我想问一下,你之前是没有将东西共享出去来的吧?你当时就是纯粹用代码写给懂的人看的?我之前确实没有看到下载的地方...对此表示有点疑惑。java初学者求你解释一下!行不?

我没事贴代码干吗尼...,在je贴码除了找骂还能干吗?我是找不到分包压缩的工具阿
143 楼 qj200040 2010-08-23  
楼主,从你贴出来这个帖子我就一直关注到现在。我想问一下,你之前是没有将东西共享出去来的吧?你当时就是纯粹用代码写给懂的人看的?我之前确实没有看到下载的地方...对此表示有点疑惑。java初学者求你解释一下!行不?
142 楼 ahuango 2010-08-20  
ahuango 写道
2年就这水平,还在这里装老大,还懂的自然懂。 很鄙视

楼主,对不起。回帖的时候已经没有附件了。 现在下载附件看了下,虽然有些东西我不懂,但是好像跟我所关心的技术没有交集,所以也没什么兴趣。 希望对其它人有帮助。
141 楼 cesul 2010-08-20  
第一次解压缩那6个分卷的话,注掉执行方法里的separate(),只执行consolidate()合并即可。得到的FAQ.rar再解压就好。楼主总结了很多东西,谢谢。
140 楼 BestUpon 2010-08-20  
KimShen 写道
InputStream input = Main.class.getResourceAsStream("FAQ 8-13.rar");	


我觉得没有以下代码保证!
  InputStream input = Main.class.getClassLoader().getResourceAsStream("FAQ 8-13.rar");

139 楼 zx848 2010-08-19  
嗨....
138 楼 KimShen 2010-08-19  
hilinw 写道
楼主什么意思?
不能用zip分包压缩吗?非得要用你的的代码来合起来。
也不说明一下大致有什么内容,浪费别人的时间。

如果我能(会)用zip分包到10M一个我还懒得写.
BTW:您觉得浪费您宝贵的时间了可以选择不看.也千万别让浪费时间的东西玷污的您的硬盘
137 楼 hilinw 2010-08-19  
楼主什么意思?
不能用zip分包压缩吗?非得要用你的的代码来合起来。
也不说明一下大致有什么内容,浪费别人的时间。
136 楼 dingherry 2010-08-19  
很多装逼的人在这里说“懂的自然懂”!
哥,你真懂吗?
135 楼 zhengyutong 2010-08-19  
楼主威武,特来发贴感谢。

对被评为新手贴表示不能理解。
134 楼 aa87963014 2010-08-18  
LZ 给的东西 一点问题都没有。方法都告诉各位了。 既然 LZ 只给"有缘人" 能懂的人。 你们何必强求

相关推荐

Global site tag (gtag.js) - Google Analytics