在Java中,可以使用Java IO庫中的類來實(shí)現(xiàn)文件導(dǎo)入數(shù)據(jù)庫的功能。下面是一個(gè)簡(jiǎn)單的示例代碼:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class FileImporter {
public static void main(String[] args) {
String filename = "data.csv"; // 文件名
String url = "jdbc:mysql://localhost:3306/db_name"; // 數(shù)據(jù)庫連接URL
String username = "username"; // 數(shù)據(jù)庫用戶名
String password = "password"; // 數(shù)據(jù)庫密碼
try (Connection conn = DriverManager.getConnection(url, username, password);
BufferedReader br = new BufferedReader(new FileReader(filename))) {
String line;
String sql = "INSERT INTO table_name (column1, column2, column3) VALUES (?, ?, ?)"; // 插入語句
PreparedStatement pstmt = conn.prepareStatement(sql);
while ((line = br.readLine()) != null) {
String[] data = line.split(","); // 假設(shè)文件是逗號(hào)分隔的
// 設(shè)置參數(shù)
pstmt.setString(1, data[0]);
pstmt.setString(2, data[1]);
pstmt.setString(3, data[2]);
pstmt.executeUpdate(); // 執(zhí)行插入語句
}
System.out.println("文件導(dǎo)入完成!");
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上述代碼中,我們使用了`BufferedReader`來讀取文件,使用`PreparedStatement`來執(zhí)行插入操作,并且通過`split`函數(shù)將每一行數(shù)據(jù)拆分成字符串?dāng)?shù)組。然后,我們根據(jù)需要將數(shù)據(jù)設(shè)置為預(yù)處理語句的參數(shù),最后執(zhí)行插入操作。請(qǐng)根據(jù)自己的實(shí)際情況修改數(shù)據(jù)庫連接URL、用戶名、密碼、文件名、插入語句以及列數(shù)和數(shù)據(jù)類型。