gpt4 book ai didi

android - 找不到保存在我的应用程序中的本地数据文件

转载 作者:行者123 更新时间:2023-11-30 03:29:59 24 4
gpt4 key购买 nike

这个过程起初看起来很简单,但是在完成这项任务的过程中,我肯定缺少一些东西。我想在我的应用程序本地创建一个设置文件,用于存储一大堆数据(不值得优先考虑)。我最终使用以下代码 fragment 保存了文件。

protected File createSettingsFileLocation(String fileNameF)
{
File directoryFile = context_.getDir("settings", Context.MODE_PRIVATE);
File settingsFile;

settingsFile = new File(directoryFile, fileNameF);

if (!settingsFile.exists())
{
try
{
settingsFile.createNewFile();
} catch(IOException e)
{
Log.e(MyConstants.LOG_TAG, "Could not create the file as intended within internal storage.");
return null;
}
}

return settingsFile;
}

然后稍后通过使用以下代码 fragment 在本地查找文件来继续检索文件。

public String getCurrentFileContainingSettings()
{
List<String >settingFilesInFolder = getLocalStorageFileNames();

if (settingFilesInFolder == null || settingFilesInFolder.isEmpty())
{
return null;
}

String pathToCurrentSettingsFile = settingFilesInFolder.get(0);

return pathToCurrentSettingsFile;
}

protected List<String> getLocalStorageFileNames()
{
return Arrays.asList(context_.fileList());
}

但是,settingFilesInFolder 始终不返回任何条目,因此我从 getCurrentFileContainingSettings() 返回 null。正如我从 documentation 中看到的那样似乎以为我做对了。但是,我一定遗漏了什么,所以我希望有人能向我指出一些事情。一旦文件名在系统中创建后,我可能会在首选项文件中对其进行硬编码,以便稍后在第一次创 build 置时进行访问,但我认为我不应该做那样的事情。

最佳答案

fileList() 只查看 getFilesDir(),而不查看其子目录,例如您通过 getDir() 创建的子目录。请改用标准 Java 文件 I/O(例如 list())。

关于android - 找不到保存在我的应用程序中的本地数据文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17617036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com