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


分享到:
评论
33 楼 cantellow 2010-08-14  
也为楼主鸣不平
虽然偶下了但是解压看不了
如果LZ不介意,发到我邮箱里可以么?
kakashixuze@qq.com
32 楼 luorongda 2010-08-14  
世事难料呀. 是个不错的帖子. 却被妒忌的人,投成了新手帖. 支持的人没投,我错了.
31 楼 godtiger 2010-08-14  
我还有part0没下载 完成

麻烦lz传一份可以吗 谢啦~!
Email:godtiger@126.com
30 楼 godtiger 2010-08-14  
我还有part0没下载 完成

麻烦lz传一份可以吗 谢啦~!
Email:godtiger@126.com
29 楼 ld57601870 2010-08-14  
楼主兄弟,能单独发我一份吗?小弟刚入道,正想学习一下前辈们的经验。
28 楼 investigater 2010-08-14  
说实在的这样实用的帖子被评为新手贴,不知道什么样的帖子算的上良好贴!也许只有那些工作中你们根本用不到,看似很高深的东西在你们眼中才算的上良好贴。楼主兄弟只不过是有一点程序员的坏毛病而已,辛辛苦苦整的参考资料就被否定了。试问两年eye上有几个人能达到这样的宽度?并且愿意和大家分享?本人一直是潜水艇,但是看到这样的情况,还是想出来冒个泡,支持楼主兄弟!
27 楼 qiren83 2010-08-14  
下载里面有精华笔记?

那个源码是合并写载后的文件的?
26 楼 cantellow 2010-08-14  
为什么我用D:\faq>copy/b part0.zip+part1.zip+part2.zip+part3.zip+part4.zip+part5.zip faq.rar
复制成功之后只有49M,而且打不开
25 楼 JavaEye4Cwy 2010-08-14  
看了,批准纪念。
24 楼 wtotal 2010-08-14  
楼主太厉害了,那么多例子,佩服。
23 楼 alexzhan 2010-08-14  
为什么合并之后,不管使用程序合并的还是用命令合并的都不能打开呢?打开都是空的。
我是linux
22 楼 GRDJE 2010-08-14  
aaronluo 写道
从楼主使用File.separator来看,这2年的确用心了

装b用一下这个就牛逼了?
前面C:写在那, 后跟那个有意思?
很久没写代码了, 也许我out
21 楼 清晨阳光 2010-08-14  
hailiang0901 写道
investigater 写道
首先感谢楼主兄弟这种无私的精神,整理这么多的资料供大家参考,但是这个合并方式整的有点复杂了,并且按照提供的方法合并后还是不能解压的,Linux下的合并方式楼上已经有兄弟贴出,我就贴和windows下的吧,
cmd命令:D:\faq>copy/b part0.zip+part1.zip+part2.zip+part3.zip+part4.zip+part5.zip faq.rar

行!!!

解压后,总共110MB,内容很多,很详实!好记性不如烂笔头,楼主两年做了这么多笔记啊,非常值得学习!
20 楼 hailiang0901 2010-08-14  
investigater 写道
首先感谢楼主兄弟这种无私的精神,整理这么多的资料供大家参考,但是这个合并方式整的有点复杂了,并且按照提供的方法合并后还是不能解压的,Linux下的合并方式楼上已经有兄弟贴出,我就贴和windows下的吧,
cmd命令:D:\faq>copy/b part0.zip+part1.zip+part2.zip+part3.zip+part4.zip+part5.zip faq.rar

行!!!
19 楼 zah5897 2010-08-14  
investigater 写道
首先感谢楼主兄弟这种无私的精神,整理这么多的资料供大家参考,但是这个合并方式整的有点复杂了,并且按照提供的方法合并后还是不能解压的,Linux下的合并方式楼上已经有兄弟贴出,我就贴和windows下的吧,
cmd命令:D:\faq>copy/b part0.zip+part1.zip+part2.zip+part3.zip+part4.zip+part5.zip faq.rar

赞一个!
18 楼 hailiang0901 2010-08-14  
下载好放到C盘根目录下,但这几个文件数据是缺失的,需要“FAQ 8-13.rar”文件中的数据来补充完整,5个文件而8-13正好相距5,所以我肯定我们没有“FAQ 8-13.rar”文件是不能解压这些文件。
最后运行这个程序来合并。
17 楼 investigater 2010-08-13  
首先感谢楼主兄弟这种无私的精神,整理这么多的资料供大家参考,但是这个合并方式整的有点复杂了,并且按照提供的方法合并后还是不能解压的,Linux下的合并方式楼上已经有兄弟贴出,我就贴和windows下的吧,
cmd命令:D:\faq>copy/b part0.zip+part1.zip+part2.zip+part3.zip+part4.zip+part5.zip faq.rar
16 楼 hailiang0901 2010-08-13  
楼主这个方式来发送您的资料,有点特别。这段程序没什么特别的,方式很特别。
15 楼 songhuagao 2010-08-13  
特来鄙视楼主
不解释,知道的,自然知道我为什么还特意回帖鄙视

PS:我是不写code的,代码的,不懂
14 楼 fireflyc 2010-08-13  
哎,其实我非常讨厌这种说法“你几年了?”,没意义。如果非要说谁老的话,也许下面的做法更有“资历”。

cat part*>fqa.zip
或者
type part*>fqa.zip(刚刚试过了这种方式居然能用,蒙的。)

相关推荐

Global site tag (gtag.js) - Google Analytics