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 + -
显示快捷键?