gpt4 book ai didi

java - 与 Java : How to import an arbitrary . csv 文件中的文件实例函数混淆到 mysql 而不是特定文件?

转载 作者:行者123 更新时间:2023-11-30 21:53:22 25 4
gpt4 key购买 nike

我目前已经有了将特定 .csv 文件(提供的目录)导入 mysql 的代码。

我正在尝试调整它并尝试使用 java 教程中演示的 create File() 方法,即。 File file = new File("d:\\myproject\\java\\Hello.java");并修改代码如下:

我的代码如图:

import java.sql.Connection;

import java.sql.Statement;
import java.io.*;

public class ImportCsv {

public static void main(String[] args) {
ImportCsv.readCsvUsingLoad();
}

public static void readCsvUsingLoad() {

try (Connection connection = DBConnection.getConnection()) {

File file = new File("C:/Users/User/Desktop/Test/upload2.csv");

String loadQuery = "LOAD DATA LOCAL INFILE '" + "file" + "' INTO TABLE txn_tbl FIELDS TERMINATED BY ','"
+ " LINES TERMINATED BY '\n' " + "IGNORE 1 LINES(txn_amount, card_number, terminal_id)";
System.out.println(loadQuery);
Statement stmt = connection.createStatement();
stmt.execute(loadQuery);
System.out.println("Data import success");
} catch (Exception e) {
e.printStackTrace();
}
}
}

但是,Intellij 不断抛出 FileNotFoundException。

我是不是误解了这里创建文件实例的用法?

最佳答案

因为您使用文件名作为字符串 "file" 而不是您必须删除两个引号,并且您不需要创建文件,您只需要 路径(字符串):

String file = "C:/Users/User/Desktop/Test/upload2.csv";

String loadQuery = "LOAD DATA LOCAL INFILE '" + file + "' "
//---------------------------------------^^
+ "INTO TABLE txn_tbl FIELDS TERMINATED BY ',' "
+ "LINES TERMINATED BY '\n' "
+ "IGNORE 1 LINES(txn_amount, card_number, terminal_id)";

您可以像这样使用 getAbsolutePath 的另一种方法:

File file = new File("C:/Users/User/Desktop/Test/upload2.csv");
String path = file.getAbsolutePath();

String loadQuery = "LOAD DATA LOCAL INFILE '" + path + "' "
//---------------------------------------^^
+ "INTO TABLE txn_tbl FIELDS TERMINATED BY ',' "
+ "LINES TERMINATED BY '\n' "
+ "IGNORE 1 LINES(txn_amount, card_number, terminal_id)";

关于java - 与 Java : How to import an arbitrary . csv 文件中的文件实例函数混淆到 mysql 而不是特定文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46212115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com