当我尝试检查特定文件是否存在时,我得到java.lang.illegalArgumentException: File contains a path separator
使用 getFileStreamPath(..) 执行此操作的正确方法是什么?
File file = getActivity().getFileStreamPath("mnt/sdcard/photo/1342147146535.jpg");
if(file.exists()){
Toast.makeText(getActivity(), "File exists in /mnt", Toast.LENGTH_SHORT);
}
我还尝试了以下方法来替换上述代码的第一行。这些都不起作用。
File file = getActivity().getFileStreamPath("file:///mnt/sdcard/photo/aviary_1342147146535.jpg");
File file = getActivity().getFileStreamPath("/mnt/sdcard/photo/1342147146535.jpg");
// File file = getActivity().getFileStreamPath("mnt/sdcard/photo/1342147146535.jpg");
// File file = getActivity().getFileStreamPath("file:///mnt/sdcard/photo/1342147146535.jpg");
if(file.exists()){
Toast.makeText(getActivity(), "File exists in /mnt", Toast.LENGTH_SHORT);}
else {
Toast.makeText(getActivity(), "File NOT exists in /mnt", Toast.LENGTH_SHORT);}
当我尝试使用方法 getFileStreamPath 时,我遇到了同样的问题。我认为它需要文件作为参数,而不是整个路径;这就是它抛出异常的原因。我用下面的方法解决了。
public static Boolean fileExist(Activity activity , String filePath) {
String finalPath = activity.getFilesDir().toString() + File.separator + filePath;
File file = new File(finalPath);
return file.exists();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)