【发布时间】:2014-01-19 10:49:42
【问题描述】:
我必须在 NetBeans 中创建一个程序,将 4 个 .csv 文件加载到表中,并让您像管理一个简单的数据库一样管理它们。但我不完全确定如何开始。例如,我如何通过 jFileChooser 打开文件,以便我什至可以开始对它们进行操作?目前我所做的一切都是文本格式的,所以我需要一些帮助。
【问题讨论】:
标签: java csv load filechooser
我必须在 NetBeans 中创建一个程序,将 4 个 .csv 文件加载到表中,并让您像管理一个简单的数据库一样管理它们。但我不完全确定如何开始。例如,我如何通过 jFileChooser 打开文件,以便我什至可以开始对它们进行操作?目前我所做的一切都是文本格式的,所以我需要一些帮助。
【问题讨论】:
标签: java csv load filechooser
我建议你看看 Spring 批处理模块。你需要的是批量处理文件
春季批次包含以下内容
您可以在这里查看:Spring Batch docs
【讨论】:
把你的问题分解成更简单的部分:
1) 打开一个文本文件。
2) 逐行读取文本文件的内容。
3) 将文本文件的行解析为 CSV 数据。
请注意,如果 CSV 的“行”包含嵌入在数据中的换行符,则步骤 2) 将更加复杂。最好从一个简单的 CSV 文件开始,其中一行 CSV 等于文件的一行。
您应该已经能够做到 1) 和 2)。实施 3) 并不难,但您需要非常仔细地考虑问题。从简单数据(没有嵌入的逗号引号)开始,并确保在继续使用嵌入引号、逗号和可能的换行符的更复杂数据之前,您的数据正常工作。
简单:“你好”、3、“123”、“世界!”
复数:"Hello, World!", 3,, "123", "He said, \"Hello, World!\""
【讨论】:
您可以使用 QuickOCM 之类的工具。它非常易于使用。只需创建一个相当于 CSV 文件中的一行的类。它将读取文件,转换为对象列表。现在您可以轻松地对这个对象做任何事情,使用 ORM 保存到 DB 甚至普通 JDBC。
您可以在此处查看使用情况:http://mkhanal.github.io/quickocm/
Input : InputStream
Output : Calls a handler per line in CSV.
Identifies data types like String, BigDecimal, int, etc.
行家:
groupId = io.github.mkhanal
artifactId = quickocm
version = 1.0
【讨论】: