Java Import Text file to Database |
Java Import Text file to Database บทความนี้เป็นการเขียน Java อ่านข้อมูลจาก Text file แล้วไปจัดเก็บไว้ที่ Database ซึ่งตัว Database จะใช้ของอะไรก็ได้ แต่เพื่อให้ง่ายในตัวอย่างนี้ผมจะเลือกใช้ MySQL Database โดยข้อมูงจาก Text file จะมีการแบ่งออกเป็น Column ที่พอดีกับฟิวด์ที่อยู่ใน Table โดยมีเครื่องหมายคอมมา (,) เป็นตัวขั้นระหว่างข้อมูลแต่ล่ะ Column ที่จะใช้จัดเก็บลงใน MySQL
Java and MySql Database บทความเกี่ยวกับการเขียน Java กับ MySQL
MySQL Table (โครงสร้างของ Table)
CREATE TABLE `customer` (
`CustomerID` varchar(4) NOT NULL,
`Name` varchar(50) NOT NULL,
`Email` varchar(50) NOT NULL,
`CountryCode` varchar(2) NOT NULL,
`Budget` double NOT NULL,
`Used` double NOT NULL,
PRIMARY KEY (`CustomerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
เป็นที่อยู่ของ Text file ถูกจัดเก็บไว้ที่ C:\java\thaicreate.txt
thaicreate.txt
C001,Win Weerachai,[email protected],TH,1000000,600000
C002,John Smith,[email protected],UK,2000000,800000
C003,Jame Born,[email protected],US,3000000,600000
C004,Chalee Angel,[email protected],US,4000000,100000
รายละเอียดของไฟล์ที่จะ Import ซึ่งจะมีลักษณะเป็นการขั้นด้วยเครื่องหมาย คอมมา (,)
Example ตัวอย่างการเขียน Java เพื่อทำการ Import ข้อมูลจาก Text file ไปยังฐานข้อมูล MySQL
MyClass.java
package com.java.myapp;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class MyClass {
public static void main(String[] args) {
String path = "C:\\java\\thaicreate.txt";
File file = new File(path);
Connection connect = null;
Statement s = null;
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
try {
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection("jdbc:mysql://localhost/mydatabase" +
"?user=root&password=root");
s = connect.createStatement();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while ((line = br.readLine()) != null) {
try {
String[] arr = line.split(",");
String sql = "INSERT INTO customer " +
"(CustomerID,Name,Email,CountryCode,Budget,Used) " +
"VALUES ('" + arr[0] + "','" + arr[1] + "','" + arr[2] + "'" +
",'" + arr[3] + "','" + arr[4] + "','" + arr[5] + "') ";
s.execute(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Import success!");
}
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Output
Import success!
Import success!
Import success!
Import success!
เมื่อกลับไปดูที่ Database จะเห็นข้อมูลถูก Import เข้ามาใน Database
|