java中文字符串的处理,java处理常规中文文本:给每行添加一些字符串

在任何语言中处理文件都是很重要的工作。昨天项目中碰到了一个问题:产品发来个doc文档,有300行文字。里面乱七八糟的。什么xml标记,unicode字符都有。要求在项目中隔段时间随机显示一行。和同事讨论了下,单独做成个xml文件,给每行字符串按规律起一个名字,在android程序里就好处理了。处理基本过程如下:

1.先把文本从word考到Notepad里洗一下~.

2.在eclpse编辑器里使用正则表达式去掉无关的字符。什么tab、尖括号、下划线什么的都滚!

3.写个java程序一行行读文件,添加了content之后,一行行写入另一个文件就ok了!

中间碰到了一个很恼人的问题。使用FileOutputStream和BufferedWriter配合,写到文件的一半了,突然程序结束了,我去!

于是百度发先,BufferedWriter写文件有长度限制。ok,我直接调用FileOutputStream的write方法,解决了此bug!

给出源码:

import java.io.*;

class addsomething

{

public static void main( String[] args )

{

String fileName = "";

System.out.println( "int file name:" ) ;

InputStreamReader ir = null;

BufferedReader bf = null;

String lines = "";

StringBuffer sb = new StringBuffer();

OutputStreamWriter osw = null;

BufferedWriter bw = null;

try

{

ir = new InputStreamReader( System.in ) ;

bf = new BufferedReader(ir);

String name = bf.readLine();

System.out.println( "filename:" + name );

ir = new InputStreamReader( new FileInputStream(name), "UTF-8" );

bf = new BufferedReader(ir);

System.out.println("sdfsadfsadf");

int count = 0;

osw = new OutputStreamWriter( new FileOutputStream(name + ".txt"),

"UTF-8");

bw = new BufferedWriter(osw); // 有限制,不使用这个对象

System.out.println( " -0------------------------->");

// 一行行读文件,再写入,使用osw的write方法。而不是bw

while( null != (lines = bf.readLine()) )

{

System.out.println( lines );

osw.write(""

+ lines + "\n" );

count ++;

System.out.println( " cout->" + count );

}

// writeString(name + ".txt", sb);

ir.close();

bf.close();

osw.close( ) ;

}

catch( Exception ex )

{

ex.printStackTrace( );

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值