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

}