gpt4 book ai didi

Java:如何按文件名而不是扩展名过滤传入文件?

转载 作者:行者123 更新时间:2023-11-29 01:35:51 25 4
gpt4 key购买 nike

我目前有一个简单的程序,可以像这样将数据插入 mysql 数据库表中:

    System.out.println("New path created: " + newPath);

String newPathfinal = newPath.toString();

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


String file = "C:/Users/User/Desktop/Test/" + newPathfinal;



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

但是传入文件的名称和内容各不相同(列不同),因此我想按名称将文件过滤到不同的 LOAD DATA LOCAL INFILE 命令中,以便可以正确插入数据。

我一直在考虑使用简单的 if-else 语句,因为我将文件名规定为 String 但我意识到 if-else 语句将完整文件名作为条件,这在我想要的情况下不起作用按部分文件名过滤。像这样:if(newPathfinal == “apple”{} 我想将所有包含单词“apple”的文件导入到某个表中。

例如,假设我想将名称以“java”开头的文件(如 java_1)导入到 mySQL 表 java1 中。并将名为“apple”的文件(如 apple_1)放入 apple1。 java_2 和 apple_2 继续导入,我需要将它们相应地过滤到正确的 LOAD DATA LOCAL INFILE 语句中,以将它们的数据插入到正确的表中。

有什么方法可以按部分文件名过滤吗?我阅读了 jfilechooser 和 fileFilter,但它们似乎专注于文件扩展名,这不是我关注的领域,因为文件都采用相同的 .csv 格式。

再次感谢!

最佳答案

听起来您想使用 startsWith 方法。

if (newPathFinal.startsWith("java"))
{
// do java stuff
}
else if (newPathFinal.startsWith("apple"))
{
// do apple stuff
}

关于Java:如何按文件名而不是扩展名过滤传入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46270773/

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