我想在 SDCARD (外部存储)中的文件中查找。 我以只读模式打开它。
in = new RandomAccessFile(filePath, "r");
从这个文件流中读取的所有内容都可以,直到我想在文件中搜索。
long seekPosition = 100;//sample value
in.seek(seekPosition);
当然,搜索位置不大于文件大小而不是负数。
但是我面临一个例外,没有任何细节。
这是异常追踪:
java.io.IOException的
在java.io.RandomAccessFile.openCheck(RandomAccessFile.java:258)
在java.io.RandomAccessFile.seek(RandomAccessFile.java:648)
....
问题是为什么会发生这种情况,我该如何解决?
它是否与寻找共享存储中的文件或在此过程中遗漏了什么相关?
我主要关注的是以随机访问方式访问文件字节。
答案 0 :(得分:1)
(私有)RandomAccessFile.openCheck()
方法(在Harvest / Android中)只是检查文件当前是否打开。如果它抛出IOException
,则表示您已关闭RandomAccessFile
对象。
课程:如果你得到一个你不期望/不理解的例外:
1 - 在这种情况下没有帮助,因为出于某些奇怪的原因,他们抛出IOException
而没有消息。我认为这是一个BUG。
参考: