Java 需要帮助!

Java 需要帮助!,java,mysql,jdbc,Java,Mysql,Jdbc,对不起,这个问题听起来可能很傻,但我需要一些帮助 我的项目是打开一个目录并列出所有文件。这些是csv文件。打开每个文件,并将内容加载到mysql数据库中的表中 因此,我已经完成了上述步骤,我的java代码运行良好。例如,我在目录中有3个文件。当我运行项目时,3个文件中的每个文件中的值都被加载到mysql表中 但当我再次运行程序并使用Select语句检查数据库时,它会显示重复的数据,因此加载了6个文件的值。当我再次运行它时,数据库显示9个文件。但是我不想再添加文件 因此,任何人都可以告诉我如何实现

对不起,这个问题听起来可能很傻,但我需要一些帮助

我的项目是打开一个目录并列出所有文件。这些是csv文件。打开每个文件,并将内容加载到mysql数据库中的表中

因此,我已经完成了上述步骤,我的java代码运行良好。例如,我在目录中有3个文件。当我运行项目时,3个文件中的每个文件中的值都被加载到mysql表中

但当我再次运行程序并使用Select语句检查数据库时,它会显示重复的数据,因此加载了6个文件的值。当我再次运行它时,数据库显示9个文件。但是我不想再添加文件

因此,任何人都可以告诉我如何实现这一点,而不需要从目录中删除已添加的文件


提前感谢

简单方法:向数据库中添加另一个表,以记录已处理文件的名称

然后,在将新文件的内容写入数据库之前:如果文件名已经在列表中,请先检查此表

备选方案:记录上次运行的时间戳,对于所有运行,跳过那些较旧的文件


但无论如何,您必须保留某种标记,因为您需要记住迄今为止所做的工作。

在数据库和物理文件中都有一个唯一的文件标识符


如果存在,请检查是否存在跳过,否则执行数据库操作将另一列添加到表中,该列是您正在读取的文件的文件名。所以总共有两列,一列是文件名,一列是文件数据


插入之前,请使用SELECT语句检查文件名是否已被读取和插入。

您可以将其他信息存储到数据库中,您已经导入了哪些文件。 您可以将导入文件的名称和上次修改的属性存储在其他表中,并在内容表中对其进行引用。
根据此信息,您可以决定从目录中导入新文件的位置,或仅更新已导入文件的内容。

我已包含主键。这以前从未发生过。我最近做了一些增强:从数据库中检索列值并将其显示在html文件中。从那时起,我的代码就会处理这个问题。因此,我将项目代码重置为旧状态。但问题仍然存在。对不起,这个问题听起来可能很傻。。更愚蠢的是你忘了问问题。需求陈述不是问题。好吧!我真的很抱歉!!我不会重复这个错误:谢谢。你能提供一个示例代码吗?具体是为了什么?数据库相关还是文件IO相关?如何在执行插入操作之前检查文件名是否已存在于表中?。我将文件名值作为第二列。是否要在表中插入名称No,name,addWHERE NOT exists从表中选择名称,其中name=;应该有助于实现这一点吗?使用Simple,并激发一些东西,比如从FILE_MASTER where FILE_NAME='abc.txt'中选择COUNTFILE_ID;欢迎您随时接受以下回答: