当前位置: 首页 > 知识库问答 >
问题:

FileInputStream之间的差异。读(…)和随机存取文件

仲孙毅
2023-03-14

我不熟悉随机文件访问,我遇到了一个问题——据我所知,RandomAccessFile类提供了一个用于读/写的随机访问文件。我可以使用seek()方法移动到首选位置并开始阅读或写作,但在这种情况下并不重要。完全是随机访问吗?但在FileInputStream中,我有同样的能力

读取(但是[]字节,int off,int len)

这种方法提供了我从某个特定的地方阅读。那么,有什么区别呢?(我猜,输入流读取所有文件,但只是通过断路位置之前的所有符号,但它只是我的猜测)。

共有2个答案

吴星汉
2023-03-14

你提到的read方法不允许你从任何特定的地方阅读。它总是从流中停止的“下一个”位置读取,并将读取的字节放入位于off位置的字节数组中<代码>关闭是输出中的偏移量,而不是输入。

太叔望
2023-03-14

查看read方法的文档:https://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html#read(字节[],int,int)表示off是“目标数组b中的起始偏移量”。因此,使用这个调用,您可以从流中读取下一个len字节,并将它们放在内存缓冲区中的某个位置。这不允许像随机访问文件的seek方法那样向前跳过。

 类似资料:
  • 我想看看哪个随机数生成器包在我的神经网络中更快。 我目前正在更改github的一个代码,其中两个都是numpy。随机和随机包用于生成随机整数、随机选择、随机样本等。 我之所以更改此代码,是因为出于研究目的,我希望设置一个全局种子,以便能够比较超参数不同设置的精度性能。问题是,现在我必须为随机包和numpy包设置两个全局种子。理想情况下,我只想设置一个种子,因为来自两个随机数生成器序列的图形可能会更

  • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。

  • 我编写了一个简单的脚本,它接受任意数量的参数来演示< code>$@和< code>$*之间的区别: 在我做的 CLI 上 这就是打印出来的 因为它们是相同的,这是否意味着等于?还是我遗漏了一点?

  • 本文向大家介绍成本差异和进度差异之间的差异,包括了成本差异和进度差异之间的差异的使用技巧和注意事项,需要的朋友参考一下 对于任何应用程序或专门用于任何项目,最关注的因素之一是在开发前和开发后阶段的预算管理和时间管理。因此,要评估任何项目的这两个主要因素,有很多方法,其中成本差异和进度差异是两个重要且主要的方法。 顾名思义,“成本差异”基于项目开发中花费的成本,而“进度差异”则基于相同开发中花费的时

  • 我现在做了很多研究,以找出React Native项目、CRNA和世博会项目之间的确切区别和取舍。 我的主要指导是 但是,我仍然不明白,与使用本机代码的普通React本机项目相比,使用ExpoKit和本机代码有什么(不)优势,除了我不能在普通React本机项目中使用Expo API这一事实。 我知道,当我在世博会上启动一个项目时,我可以将其作为ExpoKit项目或React原生项目弹出。在这两种情

  • 我读了SO的以下文章 字段读取同步和易失性之间的区别 发问者写道 同步的目的是确保此线程读取的acct.balance值是当前值,并且对acct.balance中对象字段的任何挂起写入也会写入主存。 最受欢迎的答案: 你是正确的。 请研究此代码: 在我的电脑上,这个程序不会终止。 因此我认为 如果我更改volatile变量,我将在另一个线程中看到任何未完成的地方的实际值 我说得对吗?