2012-06-29 49 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