package com.io.file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
/**
* @类功能说明: 将一个MP3文件切割成1M大小的多等分,然后在合并一起
* @类修改者:
* @修改日期:
* @修改说明:
* @作者:matieli
* @创建时间:Apr 25, 2012 9:28:40 PM
* @版本:V1.0
*
*/
public class SplitFile {
public static void main(String[] args) throws IOException {
// splitMp3();
SequenceMp3();
}
/**
* @方法功能说明:
* @修改者名字:matieli
* @修改时间:Apr 25, 2012 9:48:37 PM
* @修改内容:
* @参数:@throws IOException
* @return:void
* @throws
*/
public static void SequenceMp3() throws IOException {
// 切割完成后,在合并流
File f = new File("splitfiles");
File[] fs = f.listFiles();// 获得文件的长度
ArrayList<FileInputStream> list = new ArrayList<FileInputStream>();
for (int i = 0; i < fs.length; i++) {
list.add(new FileInputStream(fs[i]));// 遍历文件对象数组
}
final Iterator<FileInputStream> it = list.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("splitfiles//2.mp3");
byte[] b = new byte[1024 * 1024];
int len = 0;
while ((len = sis.read(b)) != -1) {
fos.write(b, 0, len);
fos.flush();
}
fos.close();
sis.close();
}
/**
* @方法功能说明:把目标文件切成1M大小的不等份,最后一个剩下多少就放多少
* @修改者名字:matieli
* @修改时间:Apr 25, 2012 9:47:42 PM
* @修改内容:
* @参数:@throws IOException
* @return:void
* @throws
*/
public static void splitMp3() throws IOException {
FileInputStream fis = new FileInputStream("1.mp3");
FileOutputStream fos = null;
byte[] b = new byte[1024 * 1024];// 定义一个1M大小的数组
int len = 0;
int count = 0;
while ((len = fis.read(b)) != -1) {
fos = new FileOutputStream("splitfiles//" + (count++) + ".part");
fos.write(b, 0, len);
fos.close();
}
fis.close();
}
}
分享到:
相关推荐
在这个场景下,Java的IO(Input/Output)库提供了丰富的功能来实现文件的读取、写入和流控制,从而实现文件的分割与合并。本文将详细介绍如何使用Java IO来完成这两个任务。 首先,我们来看一下文件分割的过程。...
4. **文件分割与合并**:通过读取和写入操作,可以实现文件的分割和合并。 **六、字符的编码** 在处理文本数据时,字符编码是不可忽视的一环。Unicode是一种广泛使用的字符集,支持世界上几乎所有的字符。ISO-8859...
java 文件分割合并源码,实现了文件的分割与合并,对Java IO 的学习有很大帮助。
【JAVA文件分割合并器】是一种基于Java编程语言开发的实用工具,主要功能是对大文件进行高效地分割和合并。在日常工作中,我们可能遇到需要处理大量数据或传输超大文件的情况,这时文件分割和合并的功能就显得尤为...
标题中的“14-Java操作Linux命令分割合并文本文件1”指的是使用Java编程语言来执行Linux命令,以实现对文本文件的分割和合并操作。在处理大文件时,由于内存限制,不能一次性将整个文件读入,因此需要采用分块处理的...
总的来说,这个`SplitImageUtil.java`源码提供了大文件分割和合并的功能,对于开发者来说,它是一个学习和参考的实例,帮助理解如何在Java中高效地处理大文件。通过深入分析和理解这段代码,开发者可以将其应用于...
3. **文件分割**:在Java中,可以通过计算每个部分的起始和结束偏移量,然后使用`skip()`方法跳过不需要的部分,`read()`方法读取需要的数据到新的文件。这个过程可能需要循环执行,直到整个文件被分割完毕。 4. **...
在这个“文件切割合并器”的项目中,我们主要关注的是Java的IO流和图形用户界面(GUI)的应用。 IO流是Java中处理输入输出的核心机制,包括字节流和字符流两大类,分别处理二进制数据和文本数据。在这个项目中,...
### Java实现文件分割与合并 #### 一、概述 本文将详细介绍如何使用Java语言实现文件的分割与合并功能。此技术对于数据传输、备份或处理大量数据时非常有用。通过分割大文件为较小的部分,可以有效地减少单个文件...
在Java中处理PDF文件,尤其是进行PDF的分割和合并,通常需要借助特定的库,例如iText或Apache PDFBox。本压缩包文件“java PDF分割与合并源代码.zip”很可能包含了使用Java编程语言实现的PDF处理功能。 在Java中...
本压缩包“基于java的PDF分割与合并源代码.zip”包含了一个Java项目,该项目专注于PDF文件的分割和合并功能。以下将详细介绍这个项目中可能涉及的关键知识点和技术: 1. **Apache PDFBox**: Apache PDFBox是...
总结起来,Java提供了丰富的文件操作API,使得文件分割和合并变得简单易行。在实际应用中,这些技术可以用于分发大型文件、处理大数据流或实现分布式系统中的数据传输。了解和熟练掌握这些技术对于任何Java开发者来...
Java中的IO流主要用于实现文件的读写操作,包括文件的分割与合并等功能。通过IO流,可以处理大文件数据,避免内存溢出等问题。本文将详细解读Java使用IO流实现大文件的分割与合并的技术实现。 首先,在Java中,所有...
在实际应用中,文件分割与合并通常涉及到流(Stream)的操作,如`java.io.InputStream`和`java.io.OutputStream`,以及文件处理类如`java.io.File`。可能还用到了缓冲区(Buffer)以提高读写效率,比如`java.io....
在处理PDF文件时,有时我们需要将多个PDF文件合并为一个,或者将一个大PDF文件分割成多个小文件,这在企业文档管理和自动化流程中非常常见。Java作为一种多用途的编程语言,提供了许多库来处理PDF文件的合并与分割。...
在Java中,文件流读写是通过使用`FileInputStream`和`FileOutputStream`类来实现的。`FileInputStream`用来读取文件,而`FileOutputStream`用来写入文件。在上面的代码中,我们使用了`FileInputStream`来读取输入wav...
Java IO流是一个文件流处理的基础组件,它提供了基本的文件读取和写入操作。将一个文件拆分为多个子文件是文件处理中一个常见的需求,例如上传大文件时,可以先分割成小块,传到服务器后,再进行合并。 下面是Java ...
Java作为一种广泛使用的编程语言,提供了丰富的库和工具来处理各种文件操作,包括文件的分割和合并。本篇文章将详细探讨基于Java的文件分割器和合并器的实现原理、相关知识点以及源码解析。 首先,文件分割是在大...
在这个实验中,学生将学习如何使用JAVA API有效地处理文件,实现文件的分割和合并功能。 文件切割是指将一个较大的文件分成若干个较小的部分,通常是为了便于传输、存储或者分块处理。在JAVA中,我们可以使用`java....