如何将逗号分隔的字段插入表中

时间:2014-03-30 11:55:50

标签: java sql

请注意,我想插入以下值:

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();
         }
      }
   }
}

请告知如何将数据存储到数据库中?

2 个答案:

答案 0 :(得分:0)

您必须修改代码,而不是只读取尝试形成Insert查询并使用Java的prepare语句执行查询。

以下链接将有所帮助

http://www.tutorialspoint.com/jdbc/jdbc-insert-records.htm

答案 1 :(得分:0)

检查您的数据库是否有直接从CSV文件填充表的命令。 MySQL有LOAD DATA INFILE命令,PostgreSQL和衍生数据库,如Vertica,有COPY命令。此命令允许设置分隔符(在您的情况下是逗号)和转义字符。与在应用程序中读取和加载文件相比,使用此方法更简单,更快捷。

您可以在PostgreSQL here中找到使用COPY的示例。