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


分享到:
评论
53 楼 xiaox543 2010-08-15  
真晕 原来改了
52 楼 yorkyao 2010-08-14  
说句公道话,入行两年,整理出这些东西,非常不容易!有前途
51 楼 alexzhan 2010-08-14  
alexzhan12@gmail.com不知道为什么合并了打开什么都没有。
50 楼 courage207 2010-08-14  
玩咩啊??
49 楼 courage207 2010-08-14  
啥玩意啊??文件太大??,原程序是分块读出来,再写进新文件中??
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 String path = "C:/啥玩意啊??新手贴??";

	public static void main(String[] args) throws Exception {
		convertTo??();
	}

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

}


48 楼 taupo 2010-08-14  
说真的,没看懂。。。。。。有附件吗?
47 楼 XTU_xiaoxin 2010-08-14  
这种不负责人得帖,被评为新手贴活该
滥贴一段代码上来,还装12+1
46 楼 ahuango 2010-08-14  
2年就这水平,还在这里装老大,还懂的自然懂。 很鄙视
45 楼 vasuer 2010-08-14  
341911@163.com
麻烦楼主给一份我。
44 楼 dongwenkai1 2010-08-14  
dongwenkai1@163.com
麻烦楼主了!
43 楼 undancer 2010-08-14  
undancer@gmail.com
下载了一部分。忽然就移除附件了。
42 楼 yaobiao753 2010-08-14  
yaobiao753@yahoo.com.cn
发来看看
41 楼 XIAOLINJAVA 2010-08-14  
两年就写这个东西,那也一般了,还到这里来炫耀,还是好好回家闭门造车吧
40 楼 bird_to_hawk 2010-08-14  
wubiao123551@163.com
入行0.5年,很想学习学习~
39 楼 dyllove98 2010-08-14  
我很想看看里面是什么~~
dengyunlong1331@163.com
38 楼 venus224 2010-08-14  
venusdeng224@163.com
也给我一份吧!
37 楼 IcedCoffee 2010-08-14  
唉...不是吧新手贴...lz真冤啊...
36 楼 qiren83 2010-08-14  
谢谢 请发一份完整版的给我

e_ver     @126.com
35 楼 andybrier3 2010-08-14  
我是新人,希望向楼主学习
648562857@qq.com
34 楼 lonefrog 2010-08-14  
楼主,hunanxieleyi@gmail.com

相关推荐

Global site tag (gtag.js) - Google Analytics