`
endual
  • 浏览: 3558515 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java 文件的分割和合并

    博客分类:
  • java
 
阅读更多

在android的应用中要用的

 

android的应用,如果数据库外置,需要将数据库在第一次运行运用的时候复制到数据库文件夹中。

而assert文件夹无法将大于1M的数据库复制到手机的数据库文件中的,所以要首先对文件进行分割

 

 

    文件的分割:

 

 

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;


public class ManFile_1 {

	public static void main(String[] args) throws Exception {    
		
	    // 大文件放置的路径    
	    String path = "file1/";    
	    // 大文件的文件名称    
	    String base = "icta";    
	    String ext = ".db";    
	    // 以每个小文件1024*512字节即1M的标准来分割    
	    int split = 1024 * 150;    
	    byte[] buf = new byte[1024 * 50];//每次读取的大小
	    int num = 1;    
	    // 建立输入流    
	    File inFile = new File(path + base + ext);   
	    System.out.println(inFile.getName());
	    FileInputStream fis = new FileInputStream(inFile);    
	    while (true) {    
	        // 以"demo"+num+".db"方式来命名小文件即分割后为demo1.db,demo2.db,。。。。。。    
	        FileOutputStream fos = new FileOutputStream(new File(path + base + num + ext));    
	        for (int i = 0; i < split / buf.length; i++) {    
	        	System.out.println("---");
	            int read = fis.read(buf); 
	            //fis.read(null) ;
	            System.out.println(read);
	            fos.write(buf, 0, read);   
	            // 判断大文件读取是否结束    
	            if (read < buf.length) {    
	                fis.close();    
	                fos.close();    
	                return;    
	            }    
	            
	        }    
	        fos.close();    
	        num++;    
	    }    
	}
	
}

 

 

   分割的使用说明:

 

    // 以每个小文件1024*512字节即1M的标准来分割    

	    int split = 1024 * 150;    
	    byte[] buf = new byte[1024 * 50];//每次读取的大小

 

 

split 表示每个分割的文件最大存放大学,buf 表示读取的大小(分割到每个文件中,读取原来的文件要多次,
而每次读取的大学就是buf)

   例如:我们要分割800kb的文件为4个文件夹,那么可以设置split 为1024 * 200 (buf的大小必须小于split的)

   其他的探索,看下代码就知道了。

 

   合并程序就简单了,无需修改,只需要你对应好文件的名字就可以了:

 

 

 

 

  import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;




public class ToFiles {

	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub

		mergeApkFile() ;
		
	}
	
	
	/**  
	 * 合并文件  
	 *   
	 * @param c  
	 * @param partFileList 小文件名集合  
	 * @param dst 目标文件路径  
	 * @throws IOException  
	 *   
	 * @author zuolongsnail  
	 */    
	private static void mergeApkFile() throws Exception{   
		
		File fileto = new File("file2/icta.db") ;
		File[] files = null;
	    if (!fileto.exists()) { 
	    	
	    	fileto.createNewFile() ;
	    	
	    	System.out.println("----");
	        OutputStream out = new FileOutputStream(fileto);    
	        byte[] buffer = new byte[1024];    
	        
	        File file = new File("file1") ;
	        files = file.listFiles() ;
	        System.out.println(files.length);
	        
	        InputStream in;    
	        int readLen = 0;    
	        for(int i=0; i < files.length; i++){    
	            // 获得输入流    
//	            in = c.getAssets().open(partFileList.get(i));    
	        	in = new FileInputStream(files[i]) ;
	            while((readLen = in.read(buffer)) != -1){    
	                out.write(buffer, 0, readLen);    
	            }    
	            out.flush();    
	            in.close();    
	        }    
	        // 把所有小文件都进行写操作后才关闭输出流,这样就会合并为一个文件了    
	        out.close();    
	    }    
	}    


}
 

 

 

项目的截图:

 


 

 

  • 大小: 10.4 KB
分享到:
评论

相关推荐

    java文件分割器,文件合并

    文件分割和文件合并功能,java语言开发

    java文件分割合并

    总结来说,Java IO库为处理文件分割和合并提供了强大的支持。通过熟练掌握`FileInputStream`和`FileOutputStream`的使用,以及理解字节流的工作原理,我们可以高效地完成文件的分割与合并任务。

    将大文件分割及合并java源码

    总的来说,这个`SplitImageUtil.java`源码提供了大文件分割和合并的功能,对于开发者来说,它是一个学习和参考的实例,帮助理解如何在Java中高效地处理大文件。通过深入分析和理解这段代码,开发者可以将其应用于...

    java 文件分割合并源码

    java 文件分割合并源码,实现了文件的分割与合并,对Java IO 的学习有很大帮助。

    java实现文件合并与分割

    文件分割则相反,将大文件拆分为多个小文件。其主要步骤包括: 1. 创建`FileInputStream`对象,读取大文件。 2. 根据指定大小计算出需要分割的文件数量。 3. 创建`FileOutputStream`对象,为每个子文件创建输出流。...

    java文件分割压缩

    Java文件分割压缩是一种常见的操作,尤其在处理大数据或者网络传输时非常有用,因为单个大文件可能会导致处理效率低或传输困难。以下是一些相关的Java编程知识点: 1. **文件I/O操作**:在Java中,`java.io`包提供...

    JAVA文件分割合并器

    【JAVA文件分割合并器】是一种基于Java编程语言开发的实用工具,主要功能是对大文件进行高效地分割和合并。在日常工作中,我们可能遇到需要处理大量数据或传输超大文件的情况,这时文件分割和合并的功能就显得尤为...

    文件分割与合并的java小工具

    使用java开发的一个大文件切割成多个小文件的工具,只要安装了java环境,之间点击运行就行了。

    Java实现文件分割与合并

    ### Java实现文件分割与合并 #### 一、概述 本文将详细介绍如何使用Java语言实现文件的分割与合并功能。此技术对于数据传输、备份或处理大量数据时非常有用。通过分割大文件为较小的部分,可以有效地减少单个文件...

    用JAVA实现文件的分割

    总结起来,Java提供了丰富的文件操作API,使得文件分割和合并变得简单易行。在实际应用中,这些技术可以用于分发大型文件、处理大数据流或实现分布式系统中的数据传输。了解和熟练掌握这些技术对于任何Java开发者来...

    14-Java操作Linux命令分割合并文本文件1

    标题中的“14-Java操作Linux命令分割合并文本文件1”指的是使用Java编程语言来执行Linux命令,以实现对文本文件的分割和合并操作。在处理大文件时,由于内存限制,不能一次性将整个文件读入,因此需要采用分块处理的...

    文件的分割与合并(包括自动合并)

    在IT领域,文件的分割与合并是常见的操作,尤其对于处理大文件时更为必要。本文将深入探讨这一主题,包括简单文件...理解并掌握简单分割、自动合并和多线程处理的方法,能够帮助我们更高效、更灵活地处理各种文件操作。

    文件分割(合并)器(源代码)

    本项目名为“文件分割(合并)器(源代码)”,它提供了对影视、图片等二进制文件进行分割和合并的功能。下面,我们将详细探讨这个工具的工作原理、实现方式以及可能的应用场景。 首先,让我们了解文件分割的概念。...

    java文件分割器java文件分割器

    根据给定的文件信息,我们可以总结出以下关于Java文件分割器的重要知识点: ### Java文件分割器功能概述 Java文件分割器是一种工具,用于将大文件分割成多个小文件,或者将多个小文件合并成一个大文件。这在处理...

    java图形化分割合并文件代码

    - **功能**: 此类是程序的核心类,包含了用户界面的构建逻辑和文件分割合并的业务逻辑。 - **属性**: - `JFrame jf`: 主窗口对象。 - `JButton[] jb`: 按钮数组,用于存放界面中的“选择文件”、“分割”和...

    基于java的文件分割器源码

    本篇文章将详细探讨基于Java的文件分割器和合并器的实现原理、相关知识点以及源码解析。 首先,文件分割是在大文件处理时常用的一种技术。当一个文件过大,无法一次性读取或者传输时,可以将其分割成多个小文件进行...

    java文件分割合并源程序

    分割合并源程序,自己刚完成不久的,还有很多需要改进的

    JAVA 哈工大JAVA实验 文件切割合并处理

    在这个实验中,学生将学习如何使用JAVA API有效地处理文件,实现文件的分割和合并功能。 文件切割是指将一个较大的文件分成若干个较小的部分,通常是为了便于传输、存储或者分块处理。在JAVA中,我们可以使用`java....

    JAVA编程-分割合并文件-jar包中含源码

    提供的jar包中包含了源码,这意味着我们可以学习和理解实现文件分割和合并的具体算法和逻辑。通过阅读源码,开发者可以了解到如何控制文件的读写操作,如何管理多个文件的顺序,以及如何处理可能出现的错误和异常。...

    文件分割与合并

    文件分割与合并是两种常见的文件操作,尤其在传输、存储或者优化资源利用时非常有用。本篇将详细探讨Java语言中如何实现文件的分割与合并,以及相关的技术要点。 首先,文件分割是指将一个大文件拆分成若干个小文件...

Global site tag (gtag.js) - Google Analytics