DCIM中的图像文件路径返回false

时间:2015-09-21 17:59:48

标签: android filepath android-4.4-kitkat

我在DDMS文件资源管理器中看到图像文件为/ mnt / shell / emulated / 0 / DCIM / myPicsFolder /,如果我写的话

final String uploadFilePath = "/mnt/shell/emulated/0/DCIM/myPicsFolder/";
final String uploadFileName = "mypic.jpg";
String sourceFileUri = uploadFilePath + uploadFileName;
File sourceFile = new File(sourceFileUri);
if (sourceFile.isFile()) {/*Upload Image*/}

但if statemente返回false: - /,有什么问题?我正在使用Android 4.4在Samsung Core 2中测试代码。如果路径写得正确,我已检查并重新检查,并且没问题。

1 个答案:

答案 0 :(得分:2)

  

出了什么问题?

adb shell 中的根路径与您应用的根路径不同。 永远不要在您的应用中硬编码根路径。始终使用EnvironmentContext上的方法来获取根路径。

在这种情况下,Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)会为您提供File指向您尝试使用的DCIM目录。所以,使用类似的东西:

File dcim=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
File sourceFile=new File(new File(dcim, "myPicsFolder"), "mypic.jpg");