阅读背景:

将一个文件分割(1M)和合并_bear_zk的博客

来源:互联网 
package com.zk919;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;

/**
 * 练习:
 * 将一个文件分割(1M)和合并,合并的文件与源文件大小一致
 */
public class Demo7 {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		//cutFile();   分割文件
		//conFile();	合并文件
	}

	public static void conFile() throws FileNotFoundException, IOException {
		File dir = new File("e:\123");  //要合并的文件的路径
		File[] files = dir.listFiles();
		Vector<FileInputStream> vector = new Vector<FileInputStream>();
		for (int i=0; i<files.length; i++) {
			if (files[i].getName().endsWith("rar")) {  //取出末尾为rar的文件
				vector.add(new FileInputStream(files[i]));  //把要合成的加入到vector集合中
			}
		}
		Enumeration<FileInputStream> e = vector.elements();
		
		SequenceInputStream sq = new SequenceInputStream(e);
		
		FileOutputStream fos = new FileOutputStream("e:\666.rar");
		byte[] buf = new byte[1024];
		int length = 0;
		while ((length=sq.read(buf)) != -1) {
			fos.write(buf, 0, length);
		}
		fos.close();
		sq.close();
	}

	public static void cutFile() throws FileNotFoundException, IOException {
		int i = 1;
		File inFile = new File("e:\plsqldeveloper9.0.rar");   //要分割的文件的路径
//		File outFile = new File("e:\"+i+".rar");
		FileInputStream fis = new FileInputStream(inFile);
//		FileOutputStream fos = new FileOutputStream(outFile);
		byte[] buf = new byte[1024*1024];
		int length = 0;
		while ((length=fis.read(buf)) != -1) {		//分割文件,一个1M,写入文件
			FileOutputStream fos = new FileOutputStream("e:\"+i+".rar");
			fos.write(buf, 0, length);
			i++;
			fos.close();
		}
		fis.close();
	}

}
package com.zk919;

import java.io.File;
import



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: