如何用java从txt读取文本,并处理后输出新的文本

我现在做的是一个微博的信息过滤系统的一部分,去除其中的转发(//后的内容)回复(回复@)以及提及(@)举个例子比如说一条信息是:
回复@伯纳乌王子:这比赛还是得看C罗!@一生只爱伯纳乌 [开心]//@红蓝英雄 今天打的不错!赞一个[开心]
处理后显示为:这比赛还是得看C罗![开心]
单个语句的处理我已经实现,代码如下:
public class AnalyseWeibo {

public static void main(String args[]){

String test = "回复@伯纳乌王子:这比赛还是得看C罗!@一生只爱伯纳乌 [开心]//@红蓝英雄 今天打的不错!赞一个[开心]";

String pattern = "\\回复@(.*?)\\:";

String pattern1 = "\\@(.*?)\\ ";

int idx = test.indexOf("//@");

String test1 = test.substring(0, idx);

String test2 = test1.replaceAll(pattern, "");

String test3 = test2.replaceAll(pattern1, "");

System.out.println(test3);

}

}

现在想知道如何从一个txt文件中读取很多这样的语句然后处理后再输入到新的txt文件中!求大神解答!谢谢!

public static void main(String[] args) throws IOException,
ClassNotFoundException {
try {
FileInputStream in = new FileInputStream(//创建输入流
"E:\\0326java\\javase\\src\\io\\TestFileInputStream.java");
FileOutputStream out = new FileOutputStream("E:\\1.txt");//创建输出流

int i = 0;
while ((i = in.read()) != -1) {
System.out.print((char) i);//循环读取文件数据
out.write(i);//每读一个数据输入到1.txt中
}
out.flush();
out.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-07
主要用到fileOutPutStream,fileInPutStream来实现的,实例代码:
//写入操作
FileOutputStream fos=new FileOutputStream("src/com/ch11/dbFile");//将字节流包装成字符流
OutputStreamWriter osw=new OutputStreamWriter(fos);//提高效率
BufferedWriter bw=new BufferedWriter(osw);
bw.write("I am liguoxi!");
bw.flush();
bw.close();
osw.close();
fos.close();
//读出的操作

FileInputStream fis=new FileInputStream("src/com/ch11/dbFile");//将文件包装成输入设备
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(isr);
System.out.println(br.readLine());
br.close();
isr.close();
fis.close();
相似回答