0

我有一个列出一堆教科书的文本文件(它是一个 8mb 的 .txt 文件!!)我应该编写脚本来读取文件并将信息写入我们设置的数据库。每本书都是数据库中的一行。文本文件如下所示:

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


...................
Book_Title:标题
(等等......)

每本书由句点分隔,“键:值”对是冒号前的数据库列名和冒号后要存储的值。我应该如何阅读信息?我尝试使用扫描仪并说分隔符是“:”,但是有一个字段“Updated_On:... at 10:30:28”..还有其他建议吗?

4

1 回答 1

2

我希望下面的伪代码足够简单。8Mb 并不多,所以这一切都可以在内存中完成。

  1. 将文件读入字符串
  2. 拆分记录分隔符上的字符串,在您的情况下是“........”。
  3. 遍历记录数组,在“\n”上拆分记录数组中的每个元素,这将为记录数组中的每个元素生成连接的名称/值对数组。
  4. 遍历连接的名称/值对的数组并拆分每个“:”,这将生成名称和值的分隔数组。

它会占用大量内存,例如 O(3N),但是对于几个 gigs 下的文件,它应该可以很好地工作。

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

于 2012-12-04T20:06:29.903 回答