gpt4 book ai didi

java - 将生成的文件输入回程序中

转载 作者:行者123 更新时间:2023-12-01 13:18:19 24 4
gpt4 key购买 nike

我正在制作一个应用程序,需要将 html 表中的值插入到数据库中。我认为首先将 html 表转换为 .csv,然后从 csv 导入数据库很简单。

我在网上找到了一个书面脚本,可以将html表格转换为csv。 TableToCSV

但是,它有一个限制,即它在用户选择 .html 文件的同一文件夹中生成输出文件 .csv。因此我不知道如何将这个新生成的 csv 文件提供给我的 BufferedReader。

 final JFileChooser  fileDialog = new JFileChooser();
JButton btnInputFile = new JButton("Input File");
btnInputFile.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

int returnVal = fileDialog.showOpenDialog(rootPane);
if (returnVal == JFileChooser.APPROVE_OPTION) {
java.io.File file = fileDialog.getSelectedFile();

String name = file.getName();
name = name.substring(0, name.lastIndexOf("."));
name += ".html";
File newFile = new File(file.getParentFile(), name);
if (file.renameTo(newFile)) {
try {
TableToCSV tableToCSV = new TableToCSV(newFile, ',', '\"', '#', CSV.UTF8Charset );
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

try
{
BufferedReader br=new BufferedReader(new FileReader(newFile));
String line;

while((line=br.readLine())!=null)
{
String[]value = line.split(",");
String sql = "INSERT into main ( , Ticket #, Status, Priority, Department, Account Name) "
+ "values ('"+value[0]+"','"+value[1]+"','"+value[2]+"','"+value[3]+"','"+value[4]+"','"+value[5]+"')";

PreparedStatement pst = DatabaseConnection.ConnectDB().prepareStatement(sql);
pst.executeUpdate();

}
br.close();

}

catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}

}

}
});
btnInputFile.setFont(new Font("Segoe UI Symbol", Font.BOLD, 15));
btnInputFile.setBounds(34, 31, 122, 51);
getContentPane().add(btnInputFile);

如您所见,在 BufferedReader 中输入 newFile 是不正确的。请建议一种编辑 TableToCSV 文件的方法,这样我就无法将输出文件放入可以进一步将其放入 BufferedReader 的位置。

最佳答案

I found a written script online that converts the html table into a csv. TableToCSV

However, it has a limitation that it produces the output file .csv in the same folder

根据我对 Roedy Green(该代码的编写者)的了解,我希望源代码旨在教您如何做某事。这个“东西”就是“创建 CSV”。这个想法是,您可以自由地接受它并对其进行更改,直到它适合您的用例。事实上,许可证在顶部注明:

This software may be copied and used freely for any purpose but military.

我建议更改方法签名以接受2个文件,其中一个是现有的输入文件,第二个是预期的输出文件(并且不要在您的洲际弹道导弹中使用它)。

关于java - 将生成的文件输入回程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22277551/

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