请注意,我想插入以下值:
EDR,10063012186648,908410101,00000004322380023224651,2014-02-01,2014-02-28,28,803.00,0.00,0
在下表中
FIELD1 FIELD2 FIELD3 FIELD4 FIELD5 FIELD6 FIELD7 FIELD8 FIELD9 FIELD10
请注意,这些字段存储在一个文本文件中,直到现在我编写了一个代码,它将从文本文件中读取字段并打印它们,但我没有找到将它们存储在数据库中的方法。
String target_dir = "//mw1-msfs-003/IT/temp";
File dir = new File(target_dir);
File[] files = dir.listFiles();
for (File f : files) {
if(f.isFile()) {
BufferedReader inputStream = null;
try {
inputStream = new BufferedReader(new FileReader(f));
String line;
while ((line = inputStream.readLine()) != null) {
System.out.println(line);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
}
}
}
请告知如何将数据存储到数据库中?
答案 0 :(得分:0)
您必须修改代码,而不是只读取尝试形成Insert查询并使用Java的prepare语句执行查询。
以下链接将有所帮助
答案 1 :(得分:0)
检查您的数据库是否有直接从CSV文件填充表的命令。 MySQL有LOAD DATA INFILE命令,PostgreSQL和衍生数据库,如Vertica,有COPY命令。此命令允许设置分隔符(在您的情况下是逗号)和转义字符。与在应用程序中读取和加载文件相比,使用此方法更简单,更快捷。
您可以在PostgreSQL here中找到使用COPY的示例。