xiaoyan_12 2013-01-16 10:00 采纳率: 25%
浏览 2979
已采纳

想从SDCARD中读文件,却从cache中读取

我想知道在Android中使用JAVA API ,能否可以从SDCARD 中读取文件的内容?
我使用NDK C 代码可以实现

int fd = open(str, O_RDWR | O_NONBLOCK | O_DIRECT);  
readCount = read(fd, pBuffer, size); 

pBuffer是 aligned buffer 时,我使用 bytesRead = fin.read(originalBuffer) 从java中直接读取时,却从cache中得到数据文件。
问题出现在哪呢?

  • 写回答

1条回答

  • Curie-87 2013-01-17 02:31
    关注

    经过多次的测试,我发现没有办法能从java中直接打开文件。唯一的方法是使用NDK,就像问题中说明的一样使用 O_DIRECT 参数打开文件。
    为了编译代码,应该使用 -D_GNU_SOURCE指令。

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

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能