2014-03-30 16 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的例子。