这基本上是一个工具类.
/*
* (#)TestFileOperate.java 1.0 2008-1-16 2008-1-16
*/
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import junit.framework.TestCase;
import junit.framework.TestResult;
/**
* 文本文件内容切割,分割
* @author QiaoDuanni
* @version 1.0, 2008-1-16 2008-1-16
* @since JDK5
*/
public class TestFileOperate extends TestCase {
//private static final Logger logger = Logger
// .getLogger(TestFileOperate.class);
/**
* 文本文件读取
*
* @param inFilepath
* 要读取的文件路径及名称
* @param inEncoding
* 要读取的文件的编码方式
* @param endLineSeparator
* 读取一行后要在行尾追加的
* @return 文件内容
* @throws IOException
*/
public String fileReader(String inFilepath, String inEncoding,
String endLineSeparator) throws IOException {
BufferedReader bin = null;
if (endLineSeparator == null)
endLineSeparator = "";
System.out.println("inFilepath:" + inFilepath + "\ninEncoding:"
+ inEncoding + "\n行尾追加后缀:" + endLineSeparator);
// 文件字符集
String enc = System.getProperty("file.encoding");
System.out.println("文件默认字符集:" + enc);
FileInputStream inputFile = new FileInputStream(inFilepath);
InputStreamReader in = new InputStreamReader(inputFile, inEncoding);
bin = new BufferedReader(in);
StringBuffer result = new StringBuffer();
String temp = "";
while ((temp = bin.readLine()) != null) {
result.append(temp).append(endLineSeparator);
}
bin.close();
return result.toString();
}
/**
* 文件写入
*
* @param outFilepath
* 要写入的文件路径及名称
* @param outEncoding
* 输出的文件编码方式
* @param fileContent
* 输入的内容
* @param flushSize
* 当输入多大时刷新一次缓冲区.默认为fileContent的大小
* @return
* @throws IOException
*/
public String fileWriter(String outFilepath, String outEncoding,
String fileContent, int flushSize) throws IOException {
if (!new File(outFilepath).getParentFile().isDirectory()) {
new File(outFilepath).getParentFile().mkdirs();
new File(outFilepath).createNewFile();
System.out.println("文件目录路径及文件不存在,创建!" + outFilepath);
}
System.out.println("outFilepath:" + outFilepath + "\noutEncoding:"
+ outEncoding);
BufferedWriter bout = null;
System.out.println("flushSize大小(改变前):" + flushSize);
if (flushSize > fileContent.length() || flushSize == 0)
flushSize = fileContent.length();
FileOutputStream outputFile = new FileOutputStream(outFilepath);
OutputStreamWriter out = new OutputStreamWriter(outputFile, outEncoding);
bout = new BufferedWriter(out);
int j = fileContent.length() / flushSize;
String temp;
System.out
.println("flushSize大小:" + flushSize + "\nfileContent.length():"
+ fileContent.length() + "\nj:" + j);
for (int i = 0; i < j; i++) {
temp = fileContent.substring(flushSize * i, flushSize * (i + 1));
bout.write(temp);
bout.flush();
System.out.print("[刷新缓冲" + i + "] ");
}
bout.close();
return null;
}
/**
* 根据给定的正则表达式的匹配来拆分此字符串。 该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split方法。
* 因此,结果数组中不包括结尾空字符串。
*
* 例如,字符串 "boo:and:foo" 产生带有下面这些表达式的结果:
*
* Regex 结果 : { "boo", "and", "foo" } o { "b", "", ":and:f" }
*
* @param source
* 要拆分的字符串
* @param regex
* 定界正则表达式
* @return 字符串数组,根据给定正则表达式的匹配来拆分此字符串,从而生成此数组。
*/
public String[] splitString(String source, String regex) {
return source.split(regex);
}
/**
* @see junit.framework.TestCase#run()
*/
@Override
public TestResult run() {
return super.run();
}
/**
* @see junit.framework.TestCase#tearDown()
*/
@Override
protected void tearDown() throws Exception {
super.tearDown();
}
/**
* @param args
*/
public static void main(String[] args) {
}
}
分享到:
相关推荐
java语言编写,用于文本切分,可按段落或固定长度
1.对任一文件的裁剪。 2.往任一文件的头/尾拼接指定字符串。...3.文本过滤。根据自己制定的规则,过滤掉指定的文字。 4.工具的介绍地址:http://blog.csdn.net/sonnyching/article/details/54744023
《Java实现的文本切割器详解》 在信息技术领域,数据处理是日常工作的重要组成部分,而文本处理更是其中不可或缺的一环。面对大容量的文本文件,有时我们需要对其进行切割,以便于管理和分析。本文将深入探讨一个...
而“主要时java的io流”则表明程序的核心实现是通过Java的IO(Input/Output)流来读取、处理和写入文本内容。 在Java中,IO流是用于处理输入和输出操作的关键概念。它允许程序读取来自各种源的数据(如文件、网络...
用JAVA写的TXT文本切割器,比较好用,代码比较简单
在本文中,我们将深入探讨如何使用Java编程语言实现基于文本相似度匹配的文本聚类算法。文本聚类是自然语言处理领域的一个重要课题,它的目标是将大量无结构的文本数据按照其内在的语义关系划分为不同的类别,使得同...
)和逗号(,)通常作为句子的分隔符,这个工具能够识别这些符号,将连续的文本切割成单独的句子。这对于文本分析、自然语言处理(NLP)以及信息提取等领域来说非常关键,因为它能将大段的文本数据转化为可处理的独立...
"Java切割机"是一个在IT领域中用于处理和操作数据的工具,特别是在文件处理和文本分析方面。这个工具可能是一个程序或库,它利用Java语言的强大功能来实现对大文件的切割、拆分或者合并,这在大数据处理、日志分析、...
在Java中,分割文本字符串可以使用String类的substring()方法,该方法可以将字符串切割成多个小段落。然而,这种方法存在一定的缺陷,例如当字符串长度超过截取长度时,需要自行编写逻辑来处理这种情况。 工具类:...
然而,有时我们会遇到数据源是格式不规则的文本文档,这种情况下,手动转换成Excel表格既耗时又容易出错。本教程将详细介绍如何利用编程方式自动将文本文档中无法分割排列的数据转换成结构化的Excel表格,并结合条码...
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分割字符串。在Java中,它们由`java.util.regex`包提供支持。例如,如果你想要以逗号为分隔符分割字符串,可以使用`","`作为正则表达式。 ### 3. 分割...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
在Java开发中,PDF处理是一项常见的任务,涵盖了各种操作,如内容替换、文件合并、页面切割、信息提取以及文档拼接。以下是对这些操作的详细解释: 1. **PDF内容替换**: Java中可以使用诸如PDFBox、iText、Apache...
这个工具可能是用编程语言如Python、C#或Java编写,通过正则表达式或其他文本处理技术来识别和分割文本文档中的时间信息。同时,它可能还具备自动化运行的能力,比如通过批处理文件(BAT文件)设置定时任务,每天...
这种方法可以快速判断两段文本是否大致相同,而不需要完全比较它们的内容。 首先,我们来看分词。在处理文本时,通常需要将其分解成基本单位——词。分词是自然语言处理中的基础步骤,它将连续的文本序列切割成有...
IO流是Java中处理输入输出的核心机制,包括字节流和字符流两大类,分别处理二进制数据和文本数据。在这个项目中,文件切割涉及到的是文件的读取(输入流)和写入(输出流)。在切割文件时,我们需要先用...
它提供了方便快捷的方式来切割大型TXT文件,使得我们可以按需处理部分内容,提高工作效率。 “TXT文本文件裁剪器”有两种版本供用户选择:安装版(TxtCutter.exe)和jar文件版(TxtCutter.jar)。安装版适用于...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
Java文件切割和内容过滤是常见的文件操作需求,尤其在处理大量数据或大文件时显得尤为重要。本文将介绍如何使用Java实现这些功能,主要基于提供的代码示例进行解析。 首先,文件切割是将一个大文件分割成多个小文件...