`
-Jan-sep-
  • 浏览: 11741 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

取文件分为多个文件

阅读更多

 

手动查库生成的文件放在一个txt文件里了,上传ftp要求十万一个txt,就临时写了个工具

package com.ailk.ecs.ssp.test;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.LineIterator;

public class orderDate {
    public static final int X = 103;

    @SuppressWarnings({ "rawtypes", "unchecked" })
    public static void main(String[] args) throws Exception {
        File file = new File("C:\\Desktop\\123\\20180322PLUS_04.TXT");
        LineIterator it = FileUtils.lineIterator(file, "UTF-8");
        ArrayList list1 = new ArrayList();
        int filelenth = (int) file.length();
        int i = 1;
        try {
            while (it.hasNext()) {
                String line = it.nextLine();
                list1.add(line + "\r\n");
                if (list1.size() % 100000 == 0) {
                    getfile(list1, i);
                    list1.clear();
                    i++;
                }
            }
            getfile(list1, i);
        }
        finally {

            LineIterator.closeQuietly(it);

        }

    }

    private static void getfile(ArrayList<String> list1, int i) throws IOException {
        BufferedWriter bw = null;
        if (list1.size() == 0) {

        }
        else {

            try {
                System.out.println(list1.size());
                String url = "C:\\Desktop\\321\\";
                i = i + X;
                File file1 = new File(url + (i > 9 ? "20180328PLUS_" + i : "20180328PLUS_0" + i) + ".txt");// (i < 10 ? Name + "_0" + i : Name + "_" + i)
                FileOutputStream out = new FileOutputStream(file1);
                OutputStreamWriter outwriter = new OutputStreamWriter(out, "UTF-8");
                bw = new BufferedWriter(outwriter);
                bw.write(list1.size() + 2 + "\r\n");
                for (String line : list1) {
                    bw.write(line);
                }
            }
            finally {
                bw.flush();
                bw.close();
            }
        }

    }

}

 

分享到:
评论

相关推荐

    把一个文件等间隔分为多个文件

    这指的是将一个文件按照固定的字节数或行数分割成若干个较小的部分,每个部分之间间隔相等。例如,如果有一个1GB的大文件,我们可以将其每隔10MB切割一次,生成多个10MB的小文件。这样可以方便管理和处理大文件,...

    CSV表格拆分,可以把一个CSV文件按固定行数拆分成多个文件

    在处理大数据时,一个大型CSV文件可能会变得难以管理,这时就需要将它拆分成多个小文件。本教程将详细解释如何通过特定工具或编程方式实现CSV表格的拆分。 ### CSV文件的特点 1. **易读性**:由于CSV是纯文本格式,...

    Arcgis导出多个shp文件

    对一个SHP文件按指定的字段,工具根据指定的字段属性导出多个Shp文件。

    python根据多个文件名批量查找文件

    本篇文章主要介绍了如何利用Python语言,根据多个文件名批量查找文件,并将找到的文件复制到指定的目录中。这个过程涉及到Python基础库如os, numpy, pandas以及shutil的使用,并结合循环、条件判断等基础编程概念,...

    T4模板生成多个文件

    标题中的“T4模板生成多个文件”指的是利用T4模板来批量创建多份输出文件的能力。在开发过程中,这可以极大地提高效率,尤其是在需要生成大量相似但又有细微差别的源代码时。 T4模板分为两种类型:文本模板(Text ...

    C# http系列之以form-data方式上传多个文件及键值对集合到远程服务器

    3. 消息主体里按照字段个数又分为多个结构类似的部分,每部分都是以--boundary开始,紧接着是内容描述信息,然后是回车(换一行),最后是字段具体内容(文本或二进制)。如果传输的是文件,还要包含文件名和文件类型...

    从树 中生成多个文件系统和闪存映像的工具_C语言_代码_下载

    genimage 是一个从给定的根文件系统树生成多个文件系统和闪存/磁盘映像的工具。genimage 旨在在 fakeroot 环境中运行。它还支持从不同的文件系统映像和文件创建闪存/磁盘映像。 配置是在 libconfuse 解析的配置文件...

    如何matlab 读取同一个文件中的多个txt 文档.pdf

    Matlab 读取同一个文件中的多个txt文档 Matlab 是一种功能强大的编程语言和开发环境,广泛应用于科学计算、数据分析和可视化等领域。今天,我们将探讨如何使用 Matlab 读取同一个文件中的多个 txt 文档。 标题解释...

    基于Silverlight实现调用webservice上传多个文件的源码例子

    此外,考虑到多文件上传,Silverlight可能需要维护一个队列,依次处理每个文件的上传,或者并行上传多个文件(取决于服务器支持和性能考虑)。在实现时,需要注意资源管理,如避免内存泄漏,以及错误处理,确保即使...

    技术文件编号规则.doc

    文件被分为多个类别,如研制方案(YF)、软件需求规格说明(SRS)、元器件筛选试验大纲(SD)、设计开发输入文件清单(SR)等。每个类别都有一个简短的标识符,便于快速识别文件类型。 2. 文件编号构成: 文件...

    MVC 多文件上传

    多文件上传允许用户一次选择并上传多个文件,这在许多应用场景中非常有用,比如图像库、文档分享或媒体上传平台。在MVC框架下,我们可以利用HTML5的`&lt;input type="file" multiple&gt;`属性来实现这个功能。 **模型...

    易语言取文件MD5值例程

    MD5在信息安全领域有着重要的应用,例如校验下载文件是否完整,比较两个文件是否相同,或者在密码存储时进行单向加密等。下面,我们将深入探讨如何使用易语言来实现取文件MD5值的功能。 首先,你需要了解易语言的...

    java导出30万数据量的excel(采用生成多个excel,最后打包zip)

    将数据分为多个小块,每块生成一个Excel文件,这样可以降低内存消耗并提高处理效率。通常,块的大小根据实际内存和系统性能进行调整。 3. **多线程处理**: 为了进一步优化性能,可以考虑使用多线程同时处理不同数据...

    模拟设计物理文件的存储过程(连续文件、索引文件)

    例如,可以采用分区技术,将大文件分为多个小的连续文件,每个文件对应一个索引,这样既能利用连续文件的优势,又能利用索引提高查询速度。 总结来说,模拟设计物理文件的存储过程涉及到对连续文件和索引文件的理解...

    多线程拷贝文件

    多线程文件拷贝,生成多个线程,对一个文件实现分段拷贝

    用于虚拟筛选批量拆分sdf文件

    将sdf文件拆分为单个pdb文件

    Excel2007打开多个独立窗口的方法

    通过这种方法,每个 Excel 文件都会独占一个 Excel 进程,这样可以方便地比较和处理多个文件。此外,这种方法还可以解决多个 Excel 文件之间的窗口混乱问题,提高工作效率。 在 Excel 2007 中打开多个独立窗口的...

    sql server文件组与文件的区别

    文件组提供了一种管理和分配磁盘空间的方法,使得数据可以跨多个文件分布。SQL Server中,默认有一个名为PRIMARY的文件组,所有的主数据文件都属于这个文件组,而辅助数据文件可以添加到默认文件组或者自定义的文件...

    基于UDP的数据文件传输系统的实现.zip

    系统中存有多个数据文件,它们分别存储于网络中的各终端设备内,服务器上保存这些数据文件所在的终端编号(可能一个文件会同时存在于多个终端上)。用户需要浏览某个数据文件时,如果文件存在于本地终端上,则直接...

    linux下文件操作

    4. 设备文件分为字符型设备和块设备。字符型设备如调制解调器、终端等,一次只处理一个字节的数据,而块设备如硬盘驱动器、RAM驱动器等,则以数据块为单位进行读写。这些设备文件允许用户直接与硬件设备进行交互。 ...

Global site tag (gtag.js) - Google Analytics