java.lang.IllegalArgumentException:包含路径分隔符

新手上路,请多包涵

我的代码中有一个文件名:

 String NAME_OF_FILE="//sdcard//imageq.png";
FileInputStream fis =this.openFileInput(NAME_OF_FILE); // 2nd line

我在第二行收到错误:

05-11 16:49:06.355: ERROR/AndroidRuntime(4570): Caused by: java.lang.IllegalArgumentException: File //sdcard//imageq.png 包含路径分隔符

我也尝试过这种格式:

 String NAME_OF_FILE="/sdcard/imageq.png";

原文由 M.A.Murali 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 558
2 个回答

此方法在应用程序的私有数据区域中打开一个文件。您无法使用此方法打开该区域的子目录或完全其他区域的任何文件。所以直接使用 FileInputStream 的构造函数来传递包含目录的路径。

原文由 Stephan 发布,翻译遵循 CC BY-SA 3.0 许可协议

我确实喜欢这个

var dir = File(app.filesDir, directoryName)
if(!dir.exists()){
    currentCompanyFolder.mkdir()
}
var directory = app.getDir(directoryName, Context.MODE_PRIVATE)
val file = File(directory, fileName)
file.outputStream().use {
    it.write(body.bytes())
}

原文由 Bréndal Teixeira 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题