2012-12-04 31 views
0

我有一个文本文件列出了一堆教科书(其8mb .txt文件!!)我应该编写脚本来读取文件并将信息写入数据库中有设置。每本书都是数据库中的一行。文本文件看起来像这样:Java - 将文本文件读入数据库

BOOK_TITLE:这里的一些标题
ISBN:一些ISBN


.........................
BOOK_TITLE:标题
(等)

每本书由句点分隔,而“键:值”对是冒号前的数据库列名和冒号后面的存储值。我怎么去阅读这些信息?我试图使用扫描仪,并说分隔符是“:”,但有一个字段“Updated_On:...在10:30:28”..任何其他建议?

回答

2

我希望下面的伪代码很简单。 8Mb不是那么重要,所有这些都可以在内存中完成。

  1. 读取文件转换成字符串
  2. 拆分的记录分隔符是字符串“.........................”在你的情况。
  3. 迭代记录数组,将记录数组中的每个元素拆分到“\ n”,这将为记录数组中的每个元素生成名称/值对的连接数组。
  4. 迭代连接的名称/值对数组并分割每个“:”,这将产生分隔的名称和值数组。

这将是内存饥饿,像O(3N),但是,对于几个演出下的文件,它应该工作得很好。

要将文件读入字符串,您可以使用Apache Commons,FileUtils。 FileUtils JavaDoc