`
北风norther
  • 浏览: 14212 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

用java替换txt里的文字

阅读更多

最近看烟雨江南的《罪恶之城》感觉不错,就下载个txt在本地看,没想到里面的章节名格式很特殊啊,例如应该是“第八章”吧,这个文件里就是“章八”,应该是“第二十八章”,就是“章二十八”,这样一来我用的九一阅读器就无法自动生成章节目录了。。。所以就自己写了java小程序来替换下~~

先看代码

package song;

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;

public class IoReader {

	private File file;
	private File tempFile;
	
	//private char[] number={'零','一','二','三','四','五','六','七','八','九','十'};
	private String num= "零一二三四五六七八九十";
	public IoReader(String in,String out) throws IOException{
		file = new File(in);
		tempFile= new File(out);
		
		FileInputStream fis= new FileInputStream(file);
		FileOutputStream fos = new FileOutputStream(tempFile);
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
		BufferedReader buffer= new BufferedReader(new InputStreamReader(fis));
		String s = "";
		System.out.println("转换ing...");
		while((s=buffer.readLine())!=null){
			bw.write(Relp2(s));
			bw.newLine();
		}
		System.out.println("OK");
		bw.close();
		fos.close();
		buffer.close();
		fis.close();
		
	}
	/*private String Relp(String str){
		if(str.startsWith("章"))	{
			String[] s = str.split(" ");
			if(s[0].length()>0&&s[0].charAt(0)=='章')
			{
				StringBuffer sb = new StringBuffer();
				sb.append("第");
				sb.append(s[0].substring(1, s[0].length()));
				sb.append("章");
				sb.append(" "+s[1]);
				return sb.toString();
			}
		}
		return str;
	}*/
	
	private String Relp2(String str){
		if(str.trim().startsWith("章"))	{
			StringBuffer sb = new StringBuffer(str.trim());
			sb.replace(0, 1, "第");
			int i = 1;
			int index;
			while(i<sb.length()){
				index = sb.charAt(i);
				if(num.indexOf(index)!=-1)
					i++;
				else	break;
			}
			sb.insert(i, "章");
			return sb.toString();
		}
		return str;
	}
}

 很简单io流操作啊,就是替换的时候出了些错误,注释的那部分是最早想的方法,因为一般的章节名就像这样“章二十四 若在冬季”。用空格分割下,然后再结合一起就行了,但。。。总有例外,例如,有的就是第几章,而作者并没有给章节起名字如“章三十四”。所以报错!!!

中间犯了个有点二的错误,写private String num= "零一二三四五六七八九十";时,我居然忘了在里面加上“十”,可以想象转换后的章节是什么样的。。。

 

在我电脑上,我转换《罪恶之城》共用时228毫秒~~

 

package song;

import java.io.IOException;

public class Main {

	/**
	 * NortherSong
	 * @param args
	 */
	public static void main(String[] args) {
		String url = "E:\\19348.txt";
		String out ="e:/b.txt";
		try {
			Long star = System.currentTimeMillis();
			IoReader ir = new IoReader(url,out);
			Long end = System.currentTimeMillis();
			System.out.println("用时:  《"+(end-star)+"》   毫秒");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

 

最后罪恶之城分享给大家

1
0
分享到:
评论
2 楼 北风norther 2014-09-25  
jingjing0907 写道
厉害!  

。。。
1 楼 jingjing0907 2014-09-24  
厉害!  

相关推荐

    java txt转换pdf 解决中文问题

    本篇文章将详细探讨如何使用Java将TXT文本文件转换为PDF,并解决中文字符显示问题。 首先,我们需要理解TXT和PDF这两种文件格式。TXT文件是最基本的纯文本格式,不包含任何格式化信息,而PDF(Portable Document ...

    超级批量文本替换工具

    本软件特别适合需要批量替换大量文本里特定文字的网友,还可以实现特征字符串之间的模糊替换,是对付大量网页恶意代码的利器 可以处理 *.txt;*.htm;*.c;*.cpp;*.h;*.hpp;*.pas;*.dpr;*.bpr;*.asp; *.php;*.cgi;*.ini...

    java2Word操作Word,比如插入图片和替换文本

    java2Word操作Word,比如插入图片和替换文本,压缩文件中有【lib和exe】文件夹和[java2Word]项目代码,网上都不完整,本人对其进行完全整合,新手解压后按readme.txt文件操作说明可以使用

    jJAVA正则表达式替换字符

    本资源文件是我自己总结的,其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"&lt;title&gt;XXXX&lt;/title&gt;"中的文字XXXX,用正则表达式获取指定...

    txt文件内容替换替换格式只要对代码修改

    - 这个文件名可能是用于替换文本文件内容的可执行文件,可能是用C++、Java、Python等语言编译或打包成的程序。运行这个文件可能会按照预设的规则自动替换指定TXT文件中的内容。 7. **安全性与最佳实践**: - 当...

    文字查找替换工具

    这涵盖了从纯文本文件(如.txt)到源代码文件(如.c、.java、.py等),甚至包括富文本格式(如.rtf、.docx等)。这样,无论用户需要在哪个文件类型中进行查找替换,都能轻松应对。 工具的小巧体积意味着它不会占用...

    java语言实现Text格式转换成pdf文件

    请注意替换`"path_to_text_file.txt"`和`"output.pdf"`为实际的文本文件路径和输出PDF文件路径。运行此程序,你就可以将Text文件转换为PDF格式了。 总结起来,Java通过PDFBox库提供了一种有效的方式将Text格式的...

    科大讯飞语音识别java例子 输入音频文件输出音频文件中的内容可编辑的文字内容

    在本文中,我们将深入探讨如何使用科大讯飞的语音识别技术与Java编程语言结合,以实现将输入的音频文件转换为可编辑的文字内容。科大讯飞是中国领先的语音技术提供商,其API提供了高效且准确的语音转文本功能,广泛...

    Aspose.Slides 替换PPT内文本

    利用Aspose.Slides替换模板PPT内文本快速生成PPT

    Txt_java.rar_java 记事本_txt ja_txtja_记事本

    【标题】"Txt_java.rar_java 记事本_txt ja_txtja_记事本" 提供的信息表明,这个压缩包包含了一个用Java编程语言编写的记事本程序。"Txt.java"是源代码文件,而"www.pudn.com.txt"可能是测试文本文件或者使用说明。 ...

    文字替换工具

    总的来说,【文字替换工具】,如Retxt10,是提高文本处理效率的重要辅助工具,尤其对于需要大量处理文本的工作者,它能大大减少重复劳动,提升工作质量。通过批量修改、替换和插入文字,用户可以更便捷地管理和优化...

    文件内容批量替换软件

    1. **文件选择**:用户可以选择一个目录或多个文件夹,程序会自动搜索这些目录下的所有文件,支持多种文件格式,如文本文件(.txt)、源代码文件(.cpp, .java, .py等)、配置文件(.ini, .xml)等。 2. **查找与替换规则...

    Java开发技术大全(500个源代码).

    useArray1.java 用反射机制使用数组示例1 useArray2.java 用反射机制使用数组示例2 第10章 示例描述:本章学习泛型。 demoBounds.java 演示有界类型 demoForceChange.java 演示强制类型转换 demoGeneric.java ...

    自主创作的一款多目录批量文件内容替换工具

    可以批量替换指定的字符串、文字、数字、英文等文本信息的工具,支持多目录同时替换,同时支持大部分文本类型文件,如txt、text、doc、docx、xls、xlsx、doc含图文、doc含表格、docx含图文及表格、md、html、css、js...

    Java2Word安装包

    2. **文字处理**:除了Java代码,Java2Word还支持导入和处理普通的文本文件。用户可以将Markdown、TXT或其他纯文本格式的资料转换为Word文档,保持原有的格式和布局。 3. **图片支持**:在描述中提到,Java2Word...

    文本搜索批量替换工具

    3. **支持多种文件后缀**:该工具的强大之处还在于它支持大部分文本文件的后缀,这意味着无论是常见的`.txt`、`.doc`、`.docx`、`.pdf`,还是编程相关的`.java`、`.cpp`、`.py`等文件,都可以进行搜索和替换操作。...

    字符替换器v1.01[批量字符替换工具.支持很多类型文件].

    它不仅能够处理常见的文本文件如.txt、.doc、.docx、.xls、.xlsx、.ppt、.pptx等,还能够处理编程语言源代码文件如.c、.cpp、.java、.py等,以及HTML、XML等Web开发相关的文件格式。这意味着无论您是从事文字编辑、...

    超级批量文本替换 4.0

    支持单个和多个文件以及文件夹操作本软件特别适合需要批量替换大量文本里特定文字的网友还可以实现特征字符串之间的模糊替换,是对付大量网页恶意代码的利器可以处理*.txt;*.htm;*.c;*.cpp;*.h;*.hpp;*.pas;*.dpr;*....

    文本字符替换专家(很好用)

    在使用"文本字符替换专家"时,用户首先需要打开软件,然后导入包含待处理文本的文件,无论是常见的文本文件如.txt、.docx,还是编程相关的源代码文件如.java、.cpp等,该软件都能胜任。接下来,用户在软件界面中指定...

Global site tag (gtag.js) - Google Analytics