基本I / O文本替换

时间:2012-01-26 07:11:01

标签: java io

我正在使用以下程序在搜索查询(> 100 MB)上读取一个巨大的搜索引擎数据库转储并删除不需要的表数据,这样我只剩下关键字,这样我就可以挖掘我的一个班级的趋势数据。

这是我到目前为止所拥有的:

import java.io.*;
public class FileUtil {

    public static void main(String args[]) {

        try {

            FileInputStream fStream = new FileInputStream("\\searches.txt");
            BufferedReader in = new BufferedReader(new InputStreamReader(fStream));
            //PrintStream out = new PrintStream(new FileOutputStream("searchesEdited.txt"));

            while (in.ready()) {
                System.out.println(in.readLine());
                String keyword = "foo"; // selected keyword to delete in txt file
                //search for string
                //delete the string
                //write newly edited file to searchesEdited.txt

            }
            in.close();

        } catch (IOException e) {
            System.out.println("File input error");
        }

    }
}

这按预期工作并将所有数据输出到控制台,所以我的方向正确。现在我只需要替换/删除传递的关键字。我已经查看了replaceAll()方法但似乎无法正确实现它。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

尝试,

String line=in.readLine();
 String keyword = "foo"; 
 String newLine=line.replaceAll(keyword,"");

或者

 String keyword ="\\bfoo\\b"; //word boundary match
 String newLine=line.replaceAll(keyword,"");

答案 1 :(得分:0)

您可以使用带有空字符串的String.replace()进行替换,例如

 "search for a keyword and delete this keyword".replace("keyword", "")

返回

 "search for a  and delete this"

另请参阅here以获取有关如何读取和写入文本文件的简单教程。