我将阅读一个由“##################”分段的语料库,并将每个段放在一个单独的文本文件中。我的语料库如下:
##### 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("#")))
{
但是不知道如何命令它来创建每个段的文本文件?
答案 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。
我希望它可以帮到你。