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指令。

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

报告相同问题?

悬赏问题

  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决