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

这些代码块工作但…

如果我逐个使用这个块,我的应用程序不会删除数据库文件. (结果是错误的)

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();
点赞