2014-03-30 18 views
0

请注意,我想插入以下值:如何插入逗号分隔的Fileds到表

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

你必须修改你的代码,而不是仅仅阅读尝试组成插入查询,并使用Java的prepare语句执行查询。

下面的链接将帮助

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

+0

这个有趣的,但仍然该链接不告诉如何从文本文件插入逗号分隔值到数据库 – user2786306

+0

你想插入整个逗号分隔值只在一个字段?如果是这种情况,你的数据库结构将不遵循标准化的概念 – HookUp

+0

不,这不是正确的方法,我需要将所有数据分开存储到数据库中 – user2786306

0

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

你可以在PostgreSQL here中找到使用COPY的例子。