数据库文件上的ENOENT(没有此类文件或目录)

时间:2015-02-08 17:27:46

标签: java android sqlite file

java.io.IOException: open failed: ENOENT (No such file or directory)

在这行代码中会发生这种情况:

File db = getDatabasePath("questions");
db.createNewFile();//HERE

我正在尝试创建一个名为questions.db的数据库文件,该文件将为空。然后我将从服务器中提取文件并将其插入那里。然后我希望能够从sqlite访问数据库。

1 个答案:

答案 0 :(得分:1)

您没有显示堆栈跟踪,它可以帮助确定它。但由于File#createNewFile()没有做太多,因此失败的唯一可能原因是(相对)路径包含不存在的父目录。 createNewFile()不会创建它们。

您通常会写

File db = ...
db.getParentFile().mkdirs();
db.createNewFile();

解决这个问题。 (或者使用不同的 - 也就是现有的 - 位置)。