通过提取两个字符行之间的行来从文本文件中创建文本文件

时间:2014-09-19 01:15:21

标签: java text-files

我将阅读一个由“##################”分段的语料库,并将每个段放在一个单独的文本文件中。我的语料库如下:

##### 4327(司法系统)

ofobcbyfwquote一项权利 sd呃其实我在欧洲生活了几年 sd我住在德国 sd A和德国他们没有陪审团制度

##### 4423(生活权)

sv我认为他们需要做的是他们需要以某种方式 lipsmack 从中取出钱 sd B我的意思是当你有一个男人签了一份声明说他有罪 sd B我们有一个叫做全日家庭的家庭

我需要两个名为4327和4423的文本文件,其间包含文本。我知道阅读文本文件的标准模型并使用了很多:

        FileInputStream fis = new FileInputStream ("C:\\Users\\Desktop\\Train.txt");
        BufferedReader br = new BufferedReader (new InputStreamReader(fis,"UTF-8"));
        String line="";
        while ((br.readLine().startsWith("#")))
            {

但是不知道如何命令它来创建每个段的文本文件?

1 个答案:

答案 0 :(得分:1)

您可以使用regual表达式,您可以使用ApacheCommon将文件读取到String:http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html#readFileToString(java.io.File)

代码将是这样的:

File fileToParse = new File("/path/to/file");
String complete = FileUtils.readFiletoString(fileToParse);
String[] fragments = complete.split("\\#+[0-9]+");   

可能你需要改进正则表达式并保存每个片段,你也可以使用FileUtils。

我希望它可以帮到你。