2012-06-29 53 views
-1

我對Java很新,需要一些幫助。我有10列和共計的平面文件,可以說,9750行。所有行都是管道分隔的。我需要將文件分成2000行(5個文件)。使用Java分割平面文件

如何在Java中執行此操作?

+2

請編輯您的帖子向我們展示了到目前爲止你已經嘗試過的東西,在這裏你就完蛋了。 –

+4

請閱讀http://stackoverflow.com/faq。您沒有向我們展示任何嘗試自己做這件事。 –

+0

什麼分隔列?逗號或空格?另外,你的文件沒有任何回車?所以基本上,如果你的文件沒有任何回車符 - 它只是一個非常長的一行?即1,2,3,4,5,6,7,9,9,10 | 11,12,13,14,15,16,17,18,19,20!21,22 ...... – HeatfanJohn

回答

1

這裏有一個很簡單的算法:

  1. 閱讀您的文件「file.txt的」
  2. 一行寫行「FILE1.TXT」
  3. 重複共2000次
  4. 從您的文件「file.txt的」讀行
  5. 寫行共2000次
  6. 爲「FILE2.TXT」
  7. 重複

從文件中讀取,你可以使用BufferedReader

BufferedReader in = new BufferedReader(new FileReader("file.txt")); 
String s = in.readLine(); // read first line from file 

要寫入文件,使用PrintWriter

PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("file1.txt"))); 
out.println("line1"); 
out.println("line2"); 
out.close(); // don't forget this after you're done printing to the file! 
0

可以使用FFPOJO庫。 FFPOJO項目是一個平面文件解析器,基於POJO的Java應用程序庫。這是一種面向平面文件的面向對象的方法,因爲該圖像基於POJO和Object-Flat-Mapping(OFM),使用Java Annotations,XML或兩者兼而有之。當一起使用時,XML映射將覆蓋註釋。

https://github.com/ffpojo/ffpojo