java-txt資料讀取存入SQL
java-txt資料讀取存入SQL
前言
最近實在太忙了.沒什麼時間更新blog. 本來打算寫專案過程可以抓時間學習python 主管最近突然跟我說10天要把舊ERP的一個員工教育訓練的程式移植出來. 由於舊ERP太爛了沒有用SQL..資料是儲存在txt..!!! 就只好寫個程式來匯入 由於時間太趕了..就不太注重細節趕快把這寫出來 如果是csv檔案的話稍微修改就可以用了!
txt資料
“345”|“456”|“xxxx”|4|12/05/11|12/05/11|0|“”|0|“”|“name”|12/06/01 先寫程式把資料的 “ | 這兩個符號先更改 改完如下 #345#@#456#@#xxxx#@4@12/05/11@12/05/11@0@##@0@##@#name#@12/06/01
java``` java
import java.sql.Connection; import java.sql.SQLException;
import javax.sql.DataSource;
import utils.sqlconnection;
import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.lang.reflect.Array; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException;
public class SQL extends sqlconnection { public static void main(String[] args) { try {
java.sql.Connection conn;
try
{
conn = DriverManager.getConnection(CONNURL, SQL_NAME,SQL_PASSWORD);
PreparedStatement pstmt = conn.prepareStatement(SQL_INSERT);
FileReader fr = new FileReader(FILE_PATH);
BufferedReader brdFile = new BufferedReader(fr);
String strLine = null;
while ((strLine = brdFile.readLine()) != null)
{
strLine = strLine.replace("#", "");//先將資料夾裡面的#改成""
String[] array = strLine.split("@");// 因為是用"@"分開所以用split切開存入字串陣列
System.out.println(strLine);
for (int i = 0; i < array.length; i++)
{
// System.out.println(array[i]); 可以用來檢視分割的檔案是否正確 pstmt.setString(i+1,array[i]); }
pstmt.execute();
}
} catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}