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


分享到:
评论
93 楼 hijakke 2010-08-16  
hijakke@gmail.com 伸手
92 楼 shawnccx 2010-08-16  
新手,shawnccx@gmail.com
感谢楼主
91 楼 sunson468 2010-08-16  
练习文件流操作吗?而且你那个匹配也只能匹配10个单位啊,正则表达式的星号是不是写错位置了??

不过看样子楼主是来分享经验的~~这点本人就自叹不如了~~~因为我好像都没写过什么特别有留念意义的例子,写过了就删了,唉,现在想来真可惜~~~
90 楼 meiowei 2010-08-16  
这么多人要,我也伸只手,谢谢
jackmeiowei@gmail.com
89 楼 dugufeng 2010-08-16  
zhang.shuibo@gmail.com 麻烦了 LZ
88 楼 phz50 2010-08-16  
不知道是什么东西,先要一份。
LZ,也发一份给我吧,phz50@163.com。
87 楼 Andrew1945 2010-08-16  
374404832@qq.com
麻烦楼主了,来迟了!
86 楼 zhengyutong 2010-08-16  
zhengqianghappy@gmail.com
想一探究竟。。。
85 楼 yf6230065 2010-08-16  
yf6230065@163.com给我来一份。谢谢
84 楼 jy00314996 2010-08-16  
ygq911@gmail.com
新手迷茫中~~~~
83 楼 liukai 2010-08-16  
kai8406@gmail.com
麻烦楼主发个~
感谢
82 楼 Chariszou 2010-08-16  
先看看,再评论
chariszou@gmail.com
81 楼 Chariszou 2010-08-16  
chariszou@gmail.com
80 楼 asarser 2010-08-16  
我要一份,asarser@gmail.com
79 楼 crud0906 2010-08-16  
好东西!收到了,感谢楼主
78 楼 xdshust 2010-08-16  
楼主,给我发一份。xdshust@gmail.com 多谢
77 楼 jqiushi 2010-08-16  
jqiushimail@gmail.com 谢谢。
76 楼 mycose 2010-08-16  
czqnet@gmail.com
谢谢分享~
75 楼 sakajiaofu 2010-08-16  
sakajiaofu@163.com,谢谢了啊!好期待!
74 楼 chosen0ne 2010-08-16  
51757907@qq.com
谢谢~~~~~~

相关推荐

Global site tag (gtag.js) - Google Analytics