Android java.io.FileNotFoundException:/sdcard/DCIM/ROBIN.jpg(没有这样的文件或目录)

Android java.io.FileNotFoundException:/sdcard/DCIM/ROBIN.jpg(没有这样的文件或目录),android,graphics,camera,media,filenotfoundexception,Android,Graphics,Camera,Media,Filenotfoundexception,以下代码行中出现错误: FileInputStream is = new FileInputStream("/sdcard/DCIM/ROBIN.jpg"); 错误是: java.io.FileNotFoundException: /sdcard/DCIM/ROBIN.jpg (No such file or directory) 但该映像存在于目录中 我的USB连接仅收费从不硬编码路径,如/SD卡。例如,在大多数Android设备上,/sdcard是错误的。使用Environment.ge

以下代码行中出现错误:

FileInputStream is = new FileInputStream("/sdcard/DCIM/ROBIN.jpg");
错误是:

java.io.FileNotFoundException: /sdcard/DCIM/ROBIN.jpg (No such file or directory)
但该映像存在于目录中


我的USB连接仅收费

从不硬编码路径,如/SD卡。例如,在大多数Android设备上,/sdcard是错误的。使用Environment.getExternalStorageDirectory查找外部存储的根。

不要硬编码路径,如/sdcard。例如,在大多数Android设备上,/sdcard是错误的。使用Environment.getExternalStorageDirectory查找外部存储的根。

确保您已在清单中设置了权限WRITE\u external\u存储。

确保您已在清单中设置了权限WRITE\u external\u存储。

现在我正在使用此代码->FileInputStream=newFileInputStreamEnvironment.getExternalFileStorageDirectory+/DCIM/ROBIN.jpg;它仍然会给我同样的错误,如果我将手机连接到磁盘驱动器,那么我会看到图像,在属性中我会看到其他路径->/media/NEW/DCIM/ROBIN.jpg,如果我硬编码此路径,我仍然会收到相同的错误。您也可以在访问它们之前检查目录是否存在文件:是。。你应该在阅读之前仔细阅读这篇文章commenting@abhishek:在Java上构造文件路径的正确方法是使用文件构造函数,而不是串联。在properties i see other path->/media/NEW/DCIM/ROBIN.jpg中,Linux PC上的路径与设备上的路径几乎没有关系。请确保设备未启用USB大容量存储,我认为您的“我的USB连接是仅收费”声明中包含了这一点。请确保您的案例正确,例如大写字母ROBIN.ok,那么我应该编写什么来代替此环境。getExternalFileStorageDirectory+/DCIM/ROBIN.jpg因为您不喜欢concat,而且我的连接仅收费,映像路径也正确,所以我知道linux pc路径不正确。文件具有只读权限现在我正在使用此代码->FileInputStream is=new FileInputStreamEnvironment.getExternalFileStorageDirectory+/DCIM/ROBIN.jpg;它仍然会给我同样的错误,如果我将手机连接到磁盘驱动器,那么我会看到图像,在属性中我会看到其他路径->/media/NEW/DCIM/ROBIN.jpg,如果我硬编码此路径,我仍然会收到相同的错误。您也可以在访问它们之前检查目录是否存在文件:是。。你应该在阅读之前仔细阅读这篇文章commenting@abhishek:在Java上构造文件路径的正确方法是使用文件构造函数,而不是串联。在properties i see other path->/media/NEW/DCIM/ROBIN.jpg中,Linux PC上的路径与设备上的路径几乎没有关系。请确保设备未启用USB大容量存储,我认为您的“我的USB连接是仅收费”声明中包含了这一点。请确保您的案例正确,例如大写字母ROBIN.ok,那么我应该编写什么来代替此环境。getExternalFileStorageDirectory+/DCIM/ROBIN.jpg因为您不喜欢concat,而且我的连接仅收费,映像路径也正确,所以我知道linux pc路径不正确。文件具有只读权限我的USB连接仅收费-这是什么类型的设备?我似乎记得某个特定设备上的一些问题,我记不起哪一个“仅收费”会导致SD卡访问出现问题,即使它本不应该这样做。我可能错了。我的USB连接只充电-这是什么类型的设备?我似乎记得某个特定设备上的一些问题,我记不起哪一个“仅收费”会导致SD卡访问出现问题,即使它本不应该这样做。不过我可能错了。