Android FileInputStream fis.read()出现异常

Android FileInputStream fis.read()出现异常,android,Android,我想访问SD卡,为此我正在编写一些代码: File f=Environment.getExternalStorageDirectory().getAbsolutePath(); // f=/mnt/sdcard byte[] bytearray=new byte[4]; FileInputStream fis=new FileInputStream(f); fis.read(bytearray,1,1); //This line gives exception 我不明白为什么

我想访问SD卡,为此我正在编写一些代码:

File f=Environment.getExternalStorageDirectory().getAbsolutePath();

//   f=/mnt/sdcard 

byte[] bytearray=new byte[4];

FileInputStream fis=new FileInputStream(f);

fis.read(bytearray,1,1);   //This line gives exception

我不明白为什么这是一个异常,您试图读取的实际上不是一个文件,而是一个目录

这就是为什么会出现异常的原因


要列出反定向内容,应在文件对象上使用
list()
方法。

首先,发布日志。其次,检查您是否具有有效的权限,可以使用uses权限标记从清单文件中读取外部storagestate权限。你做到了吗?是的,已经给了android.permission.WRITE_EXTERNAL_STORAGE应用程序权限,但仍然给了Exception。我想在内部读取SD卡,有什么办法吗?你想读什么?一个文件,任何列出SD内容的文件?不能使用FileInputStream读取目录。您可以列出目录中的文件,然后一次读取一个。据我所知,这在Java中是不可能的。也许这是一个新问题。