derang 2009-08-20 08:39
浏览 287
已采纳

为什么不能访问sd card中的文件

各位大侠,在模拟器启动时加载了虚拟的sdcard,用adb shell和dev tools中的terminal emulator均可以访问sdcard。

FileInputStream stream = context.openFileInput(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(stream,"utf-8"));
StringBuffer sb = new StringBuffer();
.........

如果file不指定路径,例如"test.txt",就可以访问在/data/data/<包名>/files目录下的test.txt文件,但是当file的值为"/sdcard/test.txt"时程序就会出错,而/sdcard目录下确实有test.txt这个文件,这是怎么回事?难道是权限的问题?
[b]问题补充:[/b]
多谢点拨,将
FileInputStream stream = context.openFileInput(file);
修改成
FileInputStream stream = new FileInputStream(file);
就可以了。第一次接触java,照猫画虎,没有搞清具体用法,汗!

  • 写回答

1条回答 默认 最新

  • wanghaolovezlq 2009-08-20 08:44
    关注

    相对路径不是这样写的吧,可能它是读取不到这样的相对路径

    你设置成绝对路径

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型