为什么Android无法将文件读取到File对象?

时间:2013-02-08 06:21:15

标签: android

这是我创建文件对象的代码。我确信该文件已存在。但是,文件length()返回0,exists()也返回false。

File uploadFile = new File(Environment.getExternalStorageDirectory() + "/DCIM/DSC00050.jpg");
int totalSize = (int) uploadFile.length(); // Get size of file, bytes

2 个答案:

答案 0 :(得分:0)

如果exists()返回false表示文件不存在或不可访问。确保已安装SD卡,并确保您的应用具有足够的权限,即READ_EXTERNAL_STORAGE。我怀疑这是问题,因为在那种情况下你应该得到例外。

另一件事是记录绝对文件路径uploadFile.getAbsolutePath()并确保它是正确的。

修改

您确定自己的图片直接位于DCIM文件夹下DCIM/Camera吗?使用Android中的任何文件浏览器并检查文件完整路径。我在代码中没有看到任何其他问题。

答案 1 :(得分:0)

File uploadFile = new File(...);后,它不会自己创建文件。

AFAIK If File.exists() is returning false, then file just doesn't exist yet.

但是您可以通过调用file.createNewFile()

来创建文件