我正在尝试确定SD卡上我的app文件夹中是否存在文件。我首先检查文件夹是否存在并处理它就好了。接下来我想看看文件是否存在所以我尝试了以下但是得到了“包含路径分隔符”
File file = getBaseContext().getFileStreamPath(ChildFolder + "/LiftData.xml");
ChildFolder是正确的路径。我之前设置它,您可以在调试透视图中正确地看到它。如果我只使用文件名,则它不会看到文件并且每次都创建它。
File file = getBaseContext().getFileStreamPath("LiftData.xml");
我怀疑这是因为没有任何路径信息它正在根目录中查找文件。我可以设置基本上下文,但这样做是否合适/良好实践?
当我向Google寻求帮助时,我找不到任何好的例子,所以我为再次打扰你帮助这个Java noob而道歉。
JB
答案 0 :(得分:0)
有几点:
要获取外部存储设备上的应用程序文件夹,请致电Context.getExternalFilesDir
。
不使用“/”,而是使用常量File.separator
(或者更好的是,使用File
构造函数来组合绝对路径:File(basePath, "LiftData.xml")
请注意,您的应用需要获得外部存储空间的明确许可,并且您应该通过Environment.getExternalStorageState