xiaoyan_12
xiaoyan_12
采纳率84.9%
2013-01-16 10:00 浏览 3.0k

想从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 Curie-87 2013-01-17 02:31

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

    点赞 评论 复制链接分享

相关推荐