IO流--切割 合并文件

import java.io.*;
import java.util.*;

public class io {
    public static void main(String[] args)throws IOException
    {
        splitFile();
        merge();
    }

    //切割文件
    public static void splitFile() throws IOException
    {
        FileInputStream fis = new FileInputStream("e:\\4.jpg");
        FileOutputStream fos = null;

        byte[] buf = new byte[1024*1024];
        int len = 0;
        int count = 1;
        while ((len=fis.read(buf))!=-1)
        {
            fos = new FileOutputStream("e:\\"+(count++)+".part");
            fos.write(buf,0,len);
            fos.close();
        }
        fis.close();
    }

    //合并文件
    public static void merge() throws IOException
    {
        Vector<FileInputStream> v = new Vector<FileInputStream>();

        v.add(new FileInputStream("e:\\1.txt"));
        v.add(new FileInputStream("e:\\2.txt"));
        v.add(new FileInputStream("e:\\3.txt"));

        Enumeration<FileInputStream> en = v.elements();
        SequenceInputStream sis = new SequenceInputStream(en);
        FileOutputStream fos = new FileOutputStream("e:\\4.txt");

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

    }

}
时间: 2024-08-02 05:57:07

IO流--切割 合并文件的相关文章

java——用递归和IO流来实现文件的复制

1 import java.io.ByteArrayInputStream; 2 import java.io.ByteArrayOutputStream; 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.InputStream; 8 import java.io.Ou

IO流-批量修改文件名称案例

/* *   源文件名:   桌面-我们今天学习IO流了哈哈哈哈-001.jpg *   修改后文件名:  桌面-000x.jpg */public class File_listFiles_updateFileName {         public static void main(String[] args) {            File file=new File("F:\\G盘\\学习资料\\新建文件夹");            File[] listFiles =

初识IO流——创建目录和文件

刚开始学习IO流我们首先接触到的是File类和Directory类,这两个类是静态类,他们的方法也都是静态方法,因此调用的时候直接用类来调用. 同时,又有FileInfo类和DirectoryInfo类,这两个类是非静态类,因此调用FileInfo类和DirectoryInfo类中的方法需要用对象来调用,FileInfo类和DirectoryInfo类里面的方法也分别与File类和Directory类中的方法差不多.下面我们来看看它们分别是如何创建目录和文件的. 1.Directory类创建目录

Java 基础(四)| IO 流之使用文件流的正确姿势

为跳槽面试做准备,今天开始进入 Java 基础的复习.希望基础不好的同学看完这篇文章,能掌握泛型,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆. 一.什么是 IO 流? 想象一个场景:我们在电脑上编辑文件,可以保存到硬盘上,也可以拷贝到 U 盘中.那这个看似简单的过程,背后其实是数据的传输. 数据的传输,也就是数据的流动.既然是流动也就会有方向,有入方向和出方向.举个上传文件的栗子,现在有三个对象,文件.应用程序.上传的目标地址(服务器).简化的上传文件有两步: 应用程序读文件

Java-使用IO流对大文件进行分割和分割后的合并

有的时候我们想要操作的文件很大,比如:我们想要上传一个大文件,但是收到上传文件大小的限制,无法上传,这是我们可以将一个大的文件分割成若干个小文件进行操作,然后再把小文件还原成源文件.分割后的每个小文件的类型可以自己定义. 一下是我编写的一个大文件的分割和合并的代码: package com.lym; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; impor

利用IO流把单个文件切割成碎片文件

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class SplitFileTest { public static void main(String[] args) throws IOException { /* * 文件切割器 * 一个读取流

Java IO流中 File文件对象与Properties类

File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 booleancreateNewFile():创建新文件,如果文件存在,返回false booleanmkdir():创建目录,只能创建一级目录 booleanmkdirs():创建目录,可创建多级目录 删除 booleandelete():删除文件,如果文件不存在,返回false,如果删除的是目录,需要确保目录是空的 voiddeleteOnExit():程

java IO流实现删除文件夹以及文件夹中的内容

这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容. 但是java在实现删除时,只能是文件才会被删除. 所以这里需要定义一个方法,来递归调用方法(递归调用,就是在方法的内部调用自己),实现文件夹里面的全部文件删除 注意:做这个测试的时候,一定要备份,如果删除成功就不会回复了 结果如下:

java中用IO流,拷贝文件夹中的文件

package 拷贝文件; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream