2014-09-19 62 views
0

我要閱讀由「##################」分段的語料庫並將每個段放在一個單獨的文本文件中。我的陰莖是象下面這樣:通過提取兩個字符行之間的連線創建文本文件的文本文件

##### 4327(司法系統)

ofobcbyfwquote右 SD一架UH實際上我在歐洲生活過了幾年 SD一個我在德國生活 信號劣化的並在德國他們沒有陪審團制度

##### 4423(生存權)

SV B I認爲他們需要做的是,他們需要以某種方式lipsmack拿錢出來呢 SD B我的意思是當你有一個男人,他們簽署了aaa聲明,說他有罪 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

創建一個新的'Writer',它使用新的'File' ... – MadProgrammer 2014-09-19 01:22:06

+0

如何拾取兩行(############)行之間的行? – user3147590 2014-09-19 01:24:26

+0

'String#startsWith',如果它不以'## ...'開始,則寫入當前文件。如果是這樣,請關閉當前文件並打開一個新文件... – MadProgrammer 2014-09-19 01:25:50

回答

1

您可以使用正則表達式,您可以使用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]+"); 

可能是你需要改進的正則表達式和節約每片段,您還可以使用文件實用程序。

我希望它能幫助你。

相關問題