这些代码块工作但…
如果我逐个使用这个块,我的应用程序不会删除数据库文件. (结果是错误的)
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();