我的代码中有一个文件名:
String NAME_OF_FILE="//sdcard//imageq.png";
FileInputStream fis =this.openFileInput(NAME_OF_FILE); // 2nd line
Run Code Online (Sandbox Code Playgroud)
我在第二行收到错误:
05-11 16:49:06.355:ERROR/AndroidRuntime(4570):引起:java.lang.IllegalArgumentException:文件//sdcard//imageq.png包含路径分隔符
我也试过这种格式:
String NAME_OF_FILE="/sdcard/imageq.png";
Run Code Online (Sandbox Code Playgroud)
小智 77
解决方案是:
FileInputStream fis = new FileInputStream (new File(NAME_OF_FILE)); // 2nd line
Run Code Online (Sandbox Code Playgroud)
openFileInput方法不接受路径分隔符.
别忘了
fis.close();
Run Code Online (Sandbox Code Playgroud)
在末尾.
Ste*_*han 60
此方法在应用程序的私有数据区域中打开一个文件.您无法使用此方法打开此区域中的子目录中的任何文件或完全打开其他区域中的任何文件.因此,使用FileInputStream直接的构造函数来传递路径,其中包含一个目录.
ref*_*log 29
openFileInput()如果要访问路径,则不接受路径,仅接受文件名,使用File file = new File(path)和对应FileInputStream
小智 5
openFileInput("/Dir/data.txt")我在尝试使用带有 subdirectory 的方法从内部存储访问文件时收到上述错误消息Dir。
您无法使用上述方法访问子目录。
尝试类似的方法:
FileInputStream fIS = new FileInputStream (new File("/Dir/data.txt"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116355 次 |
| 最近记录: |