我有一个 10,000(txt 文件)记录文件需要加载到 MySQL DB 中。我打算编写一个Java程序来读取文件并写入数据库。
关于文件:
该文件有 30 个不同字段类型的字段,例如:String、int、double、char..
目前,我计划将文件读入字符串数组并提取数据。下面给出的示例代码..(假设字符串是一行中的记录)
public class Read {
public static void main(String[] args){
String s ="Bob&&01-01-1980&&20&&CA";
String[] a1= s.split("&&");
System.out.println(a1[0]);
String name = a1[0];
String dob = a1[1];
String age = a1[2];
String state = a1[3];
System.out.println(name + " " + dob + " " + age +" " + state);
}
}
是否有更好的方法从包含 30-40 个字段的文件中提取数据?
最佳答案
我觉得你的方法很好。对于 10k 行,您可能需要每一百行左右执行一次 COMMIT
。如果您要导入到 MyISAM 表,则无需担心这一点。
如果我正在做这个项目,我会使用 MS Excel(我碰巧有)或 Open Office 的电子表格程序将文本文件导入到电子表格中。然后,我会检查电子表格以确保一切都干净,然后将其导出为 .csv 文件。最后,我会使用mysqlimport将 csv 文件加载到 MySQL 的实用程序。该过程可能比定制的 Java 程序更可靠地处理各种语法边缘情况。
另一方面,如果这是每周一次的加载作业,那么 Java 程序将是最佳选择。
(当然 && 是一个合法的分隔符。mysqlimport 将其称为 fields_termerated_by
。)
关于java - 用java读取具有多个字段的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714246/