Java学习之字节流-文件分割合并--2015-2-28
2015-02-28 11:49
288 查看
文件的分割合并
public class Test { private static int size=1024; public static void main(String[] args) throws Exception { //切割的文件 File srcfile = new File("D:/workspace/Test/脸萌.JPG"); //切割文件的存放目录 File src = new File(""); //源文件目录 String descpath = "D:/workspace/parts"; //还原文件的存放路径 File desc = new File("D:/workspace"); //还原文件名称 String name = srcfile.getName(); //文件切割 splitFile(srcfile,descpath); //文件合并 unionfile(desc,descpath,name); } public static void unionfile(File desc,String descpath,String name) throws Exception{ ArrayList<FileInputStream> list = new ArrayList<FileInputStream>(); File src = new File(descpath); File[] files = src.listFiles(new FilenameFilter(){ @Override public boolean accept(File dir, String name) { return new File(dir,name).isFile() && name.endsWith(".part"); } }); for(int i=1;i<=files.length;i++){ list.add(new FileInputStream(new File(src,i+".part"))); } Enumeration<FileInputStream> en = Collections.enumeration(list); SequenceInputStream sis = new SequenceInputStream(en); FileOutputStream fos = new FileOutputStream(new File(desc,name)); byte[] by = new byte[1024]; int len=0; while((len = sis.read(by))!=-1){ fos.write(by,0,len); } fos.flush(); fos.close(); sis.close(); } //文件切割 public static void splitFile(File file,String descpath) throws Exception{ FileInputStream is = new FileInputStream(file); FileOutputStream os = null; File dir = new File(descpath); if(!dir.isFile()){ dir.mkdirs(); } byte[] car = new byte[size]; int len =0; int count =1; while((len=is.read(car))!=-1){ int num = count++; os = new FileOutputStream(new File(dir,num+".part")); os.write(car,0,len); } os.flush(); os.close(); is.close(); } }
相关文章推荐
- java:大数据文件写入,读取,分割,排序,合并
- 用Java简单实现文件分割与合并
- java字节分割转换 数据类型转换 文件输入流
- java分割文件并且合并文件(zip,rar....)
- Java将文件分割为多个子文件再将子文件合并成原始文件
- Java分割合并大文件
- JAVA写的文件分割与文件合并程序
- 用Java简单实现文件分割与合并
- java学习之路----IO----合并流和文件操纵流
- python学习——大文件分割与合并
- javaIO学习之拆分与合并文件
- Java的IO操作(四) - SequenceInputStream类,实例:一个文件分割、合并工具
- java 分割与合并小文件
- 用Java实现文件分割/合并操作
- java分割大文件和合并小文件实例(转)
- java:大数据文件写入,读取,分割,排序,合并
- 用java实现大文件分割与合并
- Java的IO操作(四) - SequenceInputStream类,实例:一个文件分割、合并工具
- 第五章 shell学习之文件的排序、合并和分割
- 黑马程序员-学习日志-文件的分割与合并