linkfile.java

来自「java写的文件切割器」· Java 代码 · 共 76 行

JAVA
76
字号
////////////////////////////////////////////////////////
/////////////LinkFile1.0此程序用于把文件合并////////////
////////////////////////////////////////////////////////

import java.io.*;
import java.util.Vector;
public class LinkFile
{
		
	public LinkFile(String FileDir,String KeyFile)
	{
		this.FileDir=FileDir;
		this.KeyFile=KeyFile;
		Streams = new Vector();
		
	}
	
	public boolean ReadKey()
	{
		char[] KeyChar = new char[10];
		try{
			fileInputStream = new DataInputStream(
				new FileInputStream(FileDir+KeyFile));
			 for(int i=0;i<10;i++){
			 	KeyChar[i] =fileInputStream.readChar();
			 }
			 
			if(TheKey.equals(new String(KeyChar))){
				CountFileNumber = fileInputStream.readInt();
				return true;
			}
			System.out.println("KeyFile has broken!");
			return false;
		}
		catch(IOException e)
		{e.printStackTrace();return false;}
	}
	
	public boolean DoLink(){
		try{
			FileName = KeyFile.substring(3,KeyFile.length());
			for(int i=0;i<CountFileNumber;i++){
				if(new File(FileDir+i+FileName).isFile()){
				Streams.addElement(new BufferedInputStream( new FileInputStream(FileDir+i+FileName)));}
				else 
				{return false;}
			}
			FileName = KeyFile.substring(0,KeyFile.length()-4);
		    fileOutStream= new DataOutputStream(new BufferedOutputStream(
	  			new FileOutputStream(new File(FileDir+FileName))));
			AddStream = new SequenceInputStream(Streams.elements());
			int c;
			while((c = AddStream.read())!=-1){
				fileOutStream.write(c);
			}
			AddStream.close();
			fileOutStream.close();
			return true;
		}
		catch(IOException e)
		{e.printStackTrace();return false;}			
	}
	
	private Vector Streams;
	private int CountFileNumber;
	private DataOutputStream fileOutStream = null;
	private DataInputStream fileInputStream = null;
	private File OutputFile = null;
	private String KeyFile = null;
	private String FileDir = null;
	private String TheKey = "CofeCut1.0";
	private String FileName = null;
	private SequenceInputStream AddStream = null;
	
}
		

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?