利用Lucene将大文档切割成多个小文档,(可运行)

这段代码,具体用的时候,我是修改了括号里的参数的类型,我想写的方法就是一个源文件

,一个目的文件,利用源文件调用方法,然后生成目标文件。

对原有的大文件进行切割,切割的大小是自己限定的最大的大小,

文件名字的序号就是:

从自然数的顺序,依次递增。

代码如下:

如需使用需要修改自己原文件的目录。

package comOne;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

public class FileFenLei {

public static void splitToSmallFils(String file, String outputpath){

try{

//文件计数器,用于文件名

int filePointer = 0;

//定义文件的最大长度

int MAX_SIZE = 10240;

//创建文件输出流

BufferedWriter writer = null;

//创建文件输入流

BufferedReader reader =
new BufferedReader(new FileReader(file));

//建立字符串缓冲区,存储大文件中读取的数据

StringBuffer buffer = new StringBuffer();

String line = reader.readLine();

//循环遍历读取的每行字符串

while(line != null){

//如果读取字符串不为空,则将字符串加入到缓冲区

//并在每行字符串后面加上回车换行

buffer.append(line).append("\r\n");

//判断缓冲区长度是否达到文件最大长度

if(buffer.toString().getBytes().length >= MAX_SIZE){

//如果文件达到最大长度,则将缓冲区的数据写入文件

//filePointer是文件名前缀的一部分

writer = new BufferedWriter(new FileWriter(outputpath + "切分后" + filePointer + ".txt"));

writer.write(buffer.toString());

writer.close();

//文件计数器加一

filePointer++;

//清空缓冲区数据

buffer = new StringBuffer();

}

//如果没有达到文件的最大长度

line = reader.readLine();

}

//如果大文件已经读取完毕,直接将缓冲区数据写入文件

writer = new BufferedWriter(new FileWriter(outputpath + "切分后" + filePointer + ".txt"));

writer.write(buffer.toString());

writer.close();

}catch(IOException e){

e.printStackTrace();

}

}

public static void main(String[] args){

FileFenLei fenlei = new FileFenLei();

fenlei.splitToSmallFils("E:\\Lucene项目\\钢铁是怎样练成的.txt", "E:\\Lucene项目\\切分后的文件夹\\");

}

}

时间: 2024-10-12 12:17:09

利用Lucene将大文档切割成多个小文档,(可运行)的相关文章

利用Lucene对大文件进行预处理(可运行)

package comTwo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.HashMap; public class WanZheng { public static Strin

利用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 { /* * 文件切割器 * 一个读取流

利用OpenXml生成Word2007文档

一.OpenXml简介 利用C#生成Word文档并非一定要利用OpenXml技术,至少可以使用微软提供的Office相关组件来编程,不过对于Office2007(确切的说是Word.Excel和PowerPoint2007)及以上版本,微软提供了这些信息组织的另外一种思路:OpenXml技术. OpenXml是微软office2007及之后版本里,对Office信息内容(Word.Excel和PowerPoint)的一种组织方式,当你创建一个Word2007文档:XXX.docx后,它实际上是一

pdf热门干货分享 怎么把pdf文档转换成word

pdf文件不能单独编辑,所以平时我们将word文档转成pdf的经验比较多,而将pdf转换成word的形式少一点,有很多人用最简单粗暴的办法,就是对着pdf文件将里头的内容再一次手动敲成文字,这实在是太浪费时间了,而且效率低下,还容易出错.实际上,随着科学的进步,我们完全可以通过一些PDF转换软件完成格式间的转换工作. 迅捷PDF转换器就可以对PDF文件进行高质量精准解析和转换.拥有多个转换模式,不仅仅局限于普通的PDF转换Word的功能,PDF转换器全面支持多种不同文件格式之间的转换,实现对PD

java将office文档pdf文档转换成swf文件在线预览

java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org   openoffice.org是一套sun的开源office办公套件,能在widows,linux,solaris等操作系统上执行. 主要模块有writer(文本文档),impress(演示文稿),Calc(电子表格),Draw(绘图),Math(公式),base(数据库) 笔者下载的是openoffice.org 3.3.0.下载完直接安装即可.      但是,我们还需要启动openof

如何将ppt文档转换成pdf

如何将ppt文档转换成pdfpdf转换成ppt,也许你很容易解决,但是反之把ppt转换成pdf你是否知道方法呢?曾经我很笨拙地将ppt里面的文字一段段地粘贴出来,整个过程花费了很多时间,但最后在校对的时候发现还是出现了错误,那个工作量就可想而知了...... 经过后面的不断测试,还是被我幸运的找到了一款非常好用的ppt转换成pdf转换器,其不但方便,还可以起到保护源文件的作用.无需其他高级程序,只需要一个软件就能实现. (一)准备: 1.迅捷ppt转pdf转换器正式版;       2.500张

C#实现文档转换成PDF

网上有很多将doc.ppt.xls等类型的文档转换成pdf的方法,目前了解到的有两大类: 1.使用虚拟打印机将doc.ppt.xls等类型的文档 2.使用OFFICE COM组件 我采用了第二种方法实现,初步测试通过,还没有放到服务器上进行批量实时转换的测试. 下面开始介绍详细步骤: 1.安装OFFICE 2007.我安装的是OFFICE 2007 Professional Plus版.安装后提示要激活,开始没有激活也能使用,只是每次一打开office软件就提示要激活,实在忍受不了,就下了一个激

springboot利用swagger构建api文档

一.引入jar pom.xml <!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.spr

免费好用的图片识别小程序,纸质文档转换成电子档用微信这个免费功能只要3秒!

电脑日常工作中,经常需要把纸质文档整理成电子档,手动录入既耗时,效率还低,尤其纸质文档多的时候,靠手动录入根本不是办法,该怎么办呢?不要急,接下来小编教大家一招,3秒钟就能把纸质文档转换成电子档. 具体操作方法如下: 打开微信--小程序--搜索[迅捷文字识别],然后打开它. 可以看到它有2大功能,我们今天要用到第一个功能[照片.拍照],拍照识别,把纸质文档拍下来,然后点击[使用照片],只要3秒文字就识别出来啦. 文字识别好以后,点击最下方的[复制]功能,就可以把文字内容粘贴到备忘录或者Word文