`
哈达f
  • 浏览: 120396 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

文件切割合并代码

    博客分类:
  • j2se
 
阅读更多
/*文件切割

*/



import java.io.*;
class  SplitFile
{
	public static void main(String[] args) throws IOException
	{
		File file = new File("f:\\1.bmp");


		FileInputStream fis = new FileInputStream(file);

		byte[] buf = new byte[1024*1024];
		
		int count = 1;
		int len = 0;
		

		FileOutputStream fos = null;

		while((len=fis.read(buf))!=-1)
		{
			fos = new FileOutputStream("f:\\splitfile\\"+(count++)+".part");
			fos.write(buf,0,len);
			fos.close();
		}
		String info = file.getName()+">"+(count-1);
		
		fos = new FileOutputStream("f:\\splitfile\\"+(count++)+".partconfig");
		fos.write(info.getBytes());
		fos.close();

		System.out.println(count);
		fis.close();
	}
}

 

/*文件合并
*/import java.io.*;
import java.util.*;
class  HeBingFile
{
	public static void main(String[] args) throws IOException
	{
		File f = new File("f:\\splitfile");

		File[] files = f.listFiles();

		File config = null;
		for(File file : files)
		{
			if(file.getName().endsWith(".hahaconfig"))
			{
				config = file;
				break;
			}
		}
		
		if(config==null)
		{
			System.out.println("配置文件没有下载成功");
			return ;
		}
		BufferedReader bufr = new BufferedReader(new FileReader(config));

		String info = bufr.readLine();

		String[] infos = info.split(">");

		String name = infos[0];
		int count = Integer.parseInt(infos[1]);



		ArrayList<FileInputStream> al = new  ArrayList<FileInputStream>();


		for(int x=1; x<=count; x++)
		{
			File ff = new File("f:\\splitfile\\"+x+".haha");
			if(!ff.exists())
			{
				System.out.println(ff.getName()+"..该文件不存在");
				return;
			}
			al.add(new FileInputStream(ff));
		}
		
		final Iterator<FileInputStream> it = al.iterator();


		Enumeration<FileInputStream> en = new Enumeration<FileInputStream>()
		{
			public boolean hasMoreElements()
			{
				return it.hasNext();
			}
			public FileInputStream nextElement()
			{
				return it.next();
			}
		};

		SequenceInputStream sis = new SequenceInputStream(en);

		
		FileOutputStream fos = new FileOutputStream("F:\\splitfile\\"+name);

		byte[] buf = new byte[1024];
		int len = 0;
		while((len=sis.read(buf))!=-1)
		{
			fos.write(buf,0,len);
		}

		fos.close();
		sis.close();

	}
}

 

分享到:
评论

相关推荐

    文件切割合并器 3.0中文版 源代码

    《文件切割合并器3.0中文版源代码详解》 在IT行业中,文件处理是一项基本且重要的任务。尤其是在处理大文件时,为了便于传输、存储或管理,我们常常需要将大文件进行切割,并在需要时再将其合并。本文将深入探讨...

    java 文件切割合并

    以下是一个简单的文件合并代码示例: ```java List&lt;String&gt; filesToMerge = Arrays.asList("chunk001.txt", "chunk002.txt"); // 假设我们有多个切片 String targetFile = "merged.txt"; try (FileOutputStream out...

    VC文件切割合并器

    8. **代码设计**:VC文件切割合并器作为一个学习示例,其代码设计和结构也值得研究。如何组织代码以实现模块化,如何封装功能以提高可复用性,以及如何使用面向对象的设计原则,都是提升编程技能的重要方面。 总之...

    文件切割和合并工具

    在提供的压缩包`CutDemo`中,很可能是包含了一个文件切割和合并的示例代码。通过分析和学习这段代码,我们可以更好地理解上述原理,并将其应用到自己的项目中。对于初学者来说,这是一个很好的实践案例,可以帮助...

    Java文件切割器源代码

    11. **文件合并**:除了切割,文件切割器还可能提供合并功能,允许用户将之前切割的小文件恢复为原始大文件。这涉及到反向操作,即按照切割时的顺序读取每个部分并写入新文件。 12. **文件操作的最佳实践**:在编写...

    文件切割,文件合并

    文件切割与合并是两种常见的技术,尤其在处理超出系统限制或者优化传输效率的场景下显得尤为重要。本篇文章将详细探讨Java语言中如何实现文件切割和合并,并提供相关的实践示例。 一、文件切割 1. **为什么要切割...

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

    在JAVA编程语言中,文件切割和合并是常见的文件操作任务,尤其在大数据处理、网络传输或者存储优化等场景中有着广泛的应用。哈工大软件学院的JAVA实验旨在让学生掌握这些核心技术,通过实践来提升编程技能。在这个...

    C#写的Txt文件切割器和Txt文件合并器

    这个项目,"C#写的Txt文件切割器和Txt文件合并器",是初学者利用C#语言实现的一个实用工具,它可以帮助用户处理大体积的文本文件。 首先,我们来理解“文件切割器”的概念。在处理大型TXT文件时,可能会遇到内存...

    C#版大文件切割合并类源码(带Demo)

    以下是一个简单的文件切割函数的伪代码: ```csharp public void SplitFile(string inputFile, string outputFilePrefix, int chunkSizeInBytes) { using (FileStream inputFileStream = new FileStream(inputFile...

    文件切割合并exe,可支持大文件的切割与合并

    没有代码,只有一个exe,支持大文件得切割与合并,必须在一个文件夹下,可设置单包得大小进行切割,将切割文件保存在一个json配置中,用于保存切割源信息,并用于合并得识别

    好用的txt切割合并文件

    本话题将深入探讨“好用的txt切割合并文件”这一实用工具,它为个人备份提供了极大的便利。 首先,我们需要理解“txt切割”这个概念。TXT文件是一种常见的纯文本格式,通常用于存储简单的文本信息,如笔记、代码或...

    通过搜索文件按照指定文件数量或大小切割文件、合并文件

    这通常是在文件切割后的逆操作,将所有切片按顺序合并回原始文件。`mergeFiles()`函数可能是`SplitFile.java`中的另一个关键方法,它接收一个文件列表(即切片文件),然后逐个读取这些文件并将内容追加到一个新的...

    java课程设计(IO流+gui界面)--文件切割合并器--简单易懂注释详细

    在这个“文件切割合并器”的项目中,我们主要关注的是Java的IO流和图形用户界面(GUI)的应用。 IO流是Java中处理输入输出的核心机制,包括字节流和字符流两大类,分别处理二进制数据和文本数据。在这个项目中,...

    VB文件切割分解工具代码

    VB文件切割分解工具代码是一个基于Visual Basic编程语言的实用程序,它允许用户将大文件分割成多个较小的部分,便于存储、传输或者管理。这个工具特别适用于处理那些超过单个邮件附件大小限制或需要分段上传的大文件...

    MFC程序大文件切割与合并源码

    "MFC程序大文件切割与合并源码"是一个专为此目的设计的软件解决方案,它使用Microsoft Foundation Classes (MFC) 库来实现高效的大文件操作。MFC是微软提供的一种C++类库,用于构建Windows应用程序,它简化了Windows...

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

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

    C语言开发文件分割合并管理器

    《C语言实现的文件分割与合并管理器》 在计算机科学中,文件处理是一项基本而重要的任务。当处理大型文件时,为了便于存储、传输或分析,有时我们需要将其分割成多个小文件,而在后续操作中可能又需要将这些小文件...

    基于java的文件切割器源代码.zip

    这个"基于java的文件切割器源代码.zip"压缩包很可能是提供了一个实用工具,用于将大文件分割成多个小文件,便于管理和传输。下面我们将深入探讨与Java文件操作相关的知识点,以及如何实现文件切割功能。 1. Java I/...

Global site tag (gtag.js) - Google Analytics