java - 使用 Java 删除 SQLite 数据库文件不起作用

标签 java sqlite

这些代码块可以工作但是... 如果我一个一个地使用这个 block ,我的应用程序不会删除数据库文件。 (result 等于 false)

sqlite管理部分:

    // sqlite manage

        Class.forName("org.sqlite.JDBC").newInstance();            
            conn = DriverManager.getConnection("jdbc:sqlite:/"+ myDBpath);
            stmt = conn.createStatement();
    //some calculations
    stmt.close();

删除部分:

    //remove this file
    boolean result = new File(myDBpath).delete();

但如果我只使用删除代码而不进行数据库操作,它就可以工作!为什么?我该如何避免?

最佳答案

因为当您使用数据库连接时,您的 sql 文件正在使用中,因此您无法删除它。

当你不使用数据库操作时,sql文件就没有被使用,因此可以很容易地删除它。因此,删除您需要的文件以确保与您的数据库没有打开的连接,一旦所有连接都关闭,您就可以删除该文件。 改变

stmt.close();

进入

stmt.close();
conn.close();

关于java - 使用 Java 删除 SQLite 数据库文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34545672/

相关文章:

android - 安卓的sqlite加密

android - 如何从sqlite android中删除数千条记录

string - Sqlite 将字符串转换为日期

java - JTextArea 会阻塞 Linux 上的线程吗?

java - 是否可以在 android 中备份和恢复数据库文件?非根设备

java - 从 Java Soap 客户端使用 .NET Web 服务?

java - Spring 实用程序:map injection with @resource

java - 了解 sqlite 上的更新命令

Java UDP 数据包大小对齐

java - 在使用 vincenty 公式时,我不断得出错误的计算结果