基础知识之----------IO流(4)操作文件

1、文件的切割合并

  

public class SpliFileDemo {

    //创建1M的缓冲区
    private static int SIZE=1048576;

    public static void main(String[] args) throws IOException {
        File file=new File("c://partfile");
//        splitFile(file);
        mergeFile(file);
    }

    public static void splitFile(File file) throws IOException{

        //用流读取文件
        FileInputStream fis=new FileInputStream(file);

        //定义一个1M的缓冲区
        byte[] buf=new byte[SIZE];

        FileOutputStream fos=null;

        int len=0;

        int count=1;

        File dir=new File("c:\\partfile");

        if (!dir.exists())
            dir.mkdirs();

        while ((len=fis.read(buf))!=-1){
            fos=new FileOutputStream(new File(dir,(count++)+".part"));
            fos.write(buf,0,len);
        }

        fos.close();

        fis.close();

    }

    public  static void mergeFile(File dir) throws IOException {

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

        for (int x=1;x<=7;x++) {
            a1.add(new FileInputStream(new File(dir, x + ".part")));
        }
            Enumeration<FileInputStream> en=Collections.enumeration(a1);

            SequenceInputStream sis=new SequenceInputStream(en);

            FileOutputStream fos=new FileOutputStream(new File(dir,"sss1.pdf"));

            byte[] buf=new byte[1024*1024];

            int len=0;

            while((len=sis.read(buf))!=-1){
                fos.write(buf,0,len);
            }

            fos.close();

            sis.close();
        }
    }

原文地址:https://www.cnblogs.com/xiaotieblog/p/8490262.html

时间: 2024-10-05 03:09:43

基础知识之----------IO流(4)操作文件的相关文章

基础知识之----------IO流

1.IO流 用于将存储设备中的数据(硬盘.内存等)读入到固定设备中进行处理. IO流分为字节流和字符流. 之前是没有字符流的,有ASICC编码表,里面固定的数字代表各个字母.但是每个国家的信息是不同的,就造成各个国家有各自的码表,不利于信息的互通. 后来产生了国际通用码表,可以识别很多国家的文字.Unicode码表.特点是:不论什么字符都用两个字节表示. 一个中文在GBK中数字和Unicode中可能并不一样. Unicode对所有数字进行了重新编码.所以在GBK中编写了,使用Unicode码表查

Java基础知识之IO(2)

文件复制小案例(温习Java基础知识之IO(1)中的知识) package copy; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class CopyDemo { public stat

C# IO流的操作

C# IO流的操作非常重要,我们读写文件都会使用到这个技术,这里先演示一个文件内容复制的例子,简要说明C#中的IO操作. namespace ConsoleApplication1 {     class Program     {         static void Main(string[] args)         {             //将文件内容读到流中             Stream stream = File.Open("test.txt", File

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

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

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

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

Java文件IO流的操作总结

流就是管道,向管道里面写数据用输出流.write 从管道里面读数据,用输入流.read 流,按照不同的维度有不同的分类,按照从流中每次读取数据单位不同,划分为字节流字符流 按照流-对应操作的角色的不同(是IO设备,还是其他流)是否能够直接向特定的IO设备如文件.网络.磁盘等,能够直接与这些进行读写的称之为节点流, 对节点流进一步封装的流,通过封装后的流来实现读写功能,处理流也被称为高级流 流和数组不一样,不能通过索引读写数据.在流中,你也不能像数组那样前后移动读取数据,除非使用RandomAcc

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

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

对IO流的操作(文件大小,拷贝,移动,删除)

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.SequenceInputStream; class LjyFileClass { /*LjyFileClass工具类使用需知: * * 1.计算