<%-- JSP全站自动生成HTML下载新闻系统 V3.1 作者:JSP天空网站长 曹进 QQ:173241393 --%> 用Java简单实现文件分割与合并
 
用户名:
密码:
终身会员
  首页 网络文摘 技术专题 下载中心 JSP培训 公司产品 JSP虚拟主机 技术论坛 会员 JSP免费空间  
  技术文摘: JSP基础 | JSP高级 | JSP环境 | JAVA基础 | JAVA高级 | JAVA工具 | JAVA数据库 | WEB框架 | XML相关 | JAVA考试 | J2EE相关 | J2ME相关 |
  视频下载: 程序设计数据库相关教程计算机基础教程图形图像网络技术网络安全时空书库EasyShop虚拟主机JSP培训技术论坛
  书籍教程: JSP教程Java教程图像软件XML教程数据库教程网页教程工具软件服务器相关ASP教程PHP教程CGI教程.NET教程
  代码下载: ASP代码下载JSP代码下载PHP代码下载CGI代码下载Flash代码C/C++/VCPowerBuilderDelphiVisualBasicVisualFoxpro
您的位置: 首页 -> 文章分类 -> JAVA高级 -> 用Java简单实现文件分割与合并
 文摘搜索
 
 文摘资源分类
 
 文摘总排行榜TOP10
 
 最新更新文摘TOP10
 

用Java简单实现文件分割与合并

[来源]管理员   [作者]网络文摘   [时间]2007-05-06
推荐等级: 点击:

主要应用IO的RandomAccessFile(听说断点续传也是用它实现) k??乌???? 
 import java.io.*; \ ??qX驹? 
??? -芦? 
class Fen{ ??u??}????  
String fileName; ??@??C*^  
int size; cT"{点K? 
|t???? F? 
Fen(String fileName,String size){ ??? ?8M  
this.fileName = fileName; 顿??$A<??  
this.size = Integer.parseInt(size)*1024; 菇?%??帷L  
} Ox??P??? 
h??????  
public void cut()throws Exception{ 躁??X???0  
int maxx = 0; ?????}v? 
File inFile = new File(fileName); ?E??????? 
??H???  
int fileLength = (int)inFile.length(); //取得文件的大小 ??ms??????  
int value; //取得要分割的个数 H_s????n  
??2放e|N  
RandomAccessFile inn = new RandomAccessFile(inFile,"r");//打开要分割的文件 ????I????  
??????H???  
?.pd愀aNv  
value = fileLength/size; a??姝$vi  
>悼S???O0  
int i=0; 9t??F??铉  
int j=0; ???H????  
晋>???p?  
//根据要分割的数目输出文件 昃??X??[  
for (;j File outFile = new File(inFile.getName()+j+"zzii"); ????)p??? 
RandomAccessFile outt= new RandomAccessFile(outFile,"rw"); N?2wK沈?  
maxx+=size; 豸 ???6??  
for (;i outt.write(inn.read()); 3?G??k|1? 
} 卫???S?? 
outt.close(); {eU???’贳  
} D???"??? 
File outFile = new File(inFile.getName()+j+"zzii"); 耕m??瀵 廪? 
RandomAccessFile outt= new RandomAccessFile(outFile,"rw"); Z`?/O????  
for(;i >?sf?  
outt.write(inn.read()); n穹)?遴   
} ?B乜???? 
outt.close(); J???|x2??  
xex榇?vY  
inn.close(); }??kA棹??  
} 劝0清????  
} ~?Wī  
1;@~??醮??  
*??w? y  
class He{ _h湄?????  
String fileName; N<K陡x?Q? 
String filterName; ???In?<? 
??5eA’铫? 
He(String fileName,String filterName){ DP?????? 
this.fileName = fileName; #"=z??T?  
this.filterName = filterName; 锔q??亡A? 
} Z樗??????  
H???~??啄  
??佤#n%1  
public void unite()throws Exception{ ??’J??A7  
String [] tt; _7-:’?? 
File inFile = new File("."); //在当前目录下的文件 ?y?YvZWd  
File outFile = new File(fileName); //取得输出名 w醯U????? 
RandomAccessFile outt= new RandomAccessFile(outFile,"rw"); ??(????y?  
????T??:!  
//取得符合条件的文件名 g?巷A??z  
tt = inFile.list(new FilenameFilter(){ ????舔蜢  
public boolean accept(File dir,String name){ r耜;?????  
String rr = new File(name).toString(); C?????Y  
return rr.endsWith(filterName); ??Ryb沌??  
} T??????o  
}); ??褒a??  
//打印出取得的文件名 轾??-{YD  
for (int i = 0;i System.out.println(tt); ???WE弼?  
} ??N??6#?  
?r??)铬h  
//打开所有的文件再写入到一个文件里 ?j4:?]Q??  
for(int i=0;i inFile = new File(tt); ???"0?Pr  
RandomAccessFile inn= new RandomAccessFile(inFile,"r"); G??ngm??  
int c; 呵Gj??Z? 
while((c=inn.read())!=-1) 3???DZ  
outt.write(c); #U??]洙 Su  
} ????馘?ǎ  
蹊荤3蹀??W  
outt.close(); 巅e?????? 
} l+],酞e  
} 0?.???? 
]妩RM?? 缡  
????7? J? 
public class test{ ??yT??n>  
public static void main(final String [] args)throws Exception{ Ⅱm?eo??  
晾な8????  
if(args.length==0){ TKㄩp?)  
print(); ク????  
return; ??励??BB?  
} g?4??q??  
if(args[0].equals("-c")){ 蠢????Y? 
Fen cutt = new Fen(args[1],args[2]); L????J??  
cutt.cut(); ?lt;? L??放  
} Asf; 煌] ? 
else if (args[0].equals("-r")){ 0ヲ9??????  
He hee = new He(args[1],args[2]); ZZMé???  
hee.unite(); ????7;^*i  
} ??a??????  
else #si?????  
print();  B.??<<%  
r????窄觚? 
} 5憝C.M???  
潍`???>??  
public static void print(){ p咚??>c??? 
System.o

 ut.println("usage:\n分: java test -c file1 size(单位为K)\n合 java test -r file2 zzii(我设置的方便标识)"); 4"f%ov??? 
} ??o??mN?}  
}

[收藏][打印][关闭]
在线咨询服务 在线咨询服务 在线咨询服务 在线咨询服务
Copyright©2005-2006陕西思远数码科技有限责任公司 服务电话:029-88212987 传真:029-88278265 售后服务QQ:173241393
地址:陕西省西安市吉祥路186号太白新苑C座2104 陕ICP备05004508号