Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java打开RandomAccessFile意味着什么?_Java_Randomaccessfile - Fatal编程技术网

用Java打开RandomAccessFile意味着什么?

用Java打开RandomAccessFile意味着什么?,java,randomaccessfile,Java,Randomaccessfile,RandomAccessFile有一个close()方法,描述如下: 关闭此随机访问文件流并释放与该流关联的所有系统资源 打开一个随机访问文件意味着什么?我这样问是因为没有open()方法。当我们执行读写等任务时,打开RandomAccessFile是否只是隐式的?为什么没有open()方法?只打开一个RandomAccessFile而不同时执行任何其他任务有意义吗?如Java文档中所述,该文件是使用构造函数创建的 RandomAccessFile(文件、字符串模式)创建随机访问文件 要从指定

RandomAccessFile有一个close()方法,描述如下:

关闭此随机访问文件流并释放与该流关联的所有系统资源


打开一个随机访问文件意味着什么?我这样问是因为没有open()方法。当我们执行读写等任务时,打开RandomAccessFile是否只是隐式的?为什么没有open()方法?只打开一个RandomAccessFile而不同时执行任何其他任务有意义吗?

如Java文档中所述,该文件是使用构造函数创建的

RandomAccessFile(文件、字符串模式)创建随机访问文件 要从指定的文件中读取和(可选)写入的流 文件参数

RandomAccessFile(字符串名称、字符串模式)创建随机访问 要从具有 指定的名称

准确地说:

创建随机访问文件流以从中读取,也可以选择从中读取 写入具有指定名称的文件。一个新的FileDescriptor对象 创建以表示与文件的连接。模态参数 指定打开文件的访问模式。这个 允许值及其含义如以下文件所规定: RandomAccessFile(文件、字符串)构造函数

如果存在安全管理器,则使用调用其checkRead方法 name参数作为其参数,以查看是否允许对文件进行读取访问 允许。如果模式允许写入,则安全管理器的checkWrite 方法也以name参数作为其参数进行调用,以查看 允许对文件进行写访问


由于Java中没有显式析构函数(据我所知),因此创建RandomAccessFile后需要显式关闭该文件。

如Java文档中所述,该文件是使用构造函数创建的

RandomAccessFile(文件、字符串模式)创建随机访问文件 要从指定的文件中读取和(可选)写入的流 文件参数

RandomAccessFile(字符串名称、字符串模式)创建随机访问 要从具有 指定的名称

准确地说:

创建随机访问文件流以从中读取,也可以选择从中读取 写入具有指定名称的文件。一个新的FileDescriptor对象 创建以表示与文件的连接。模态参数 指定打开文件的访问模式。这个 允许值及其含义如以下文件所规定: RandomAccessFile(文件、字符串)构造函数

如果存在安全管理器,则使用调用其checkRead方法 name参数作为其参数,以查看是否允许对文件进行读取访问 允许。如果模式允许写入,则安全管理器的checkWrite 方法也以name参数作为其参数进行调用,以查看 允许对文件进行写访问


因为Java中没有显式析构函数(据我所知),所以创建RandomAccessFile后需要显式关闭该文件。

当创建
RandomAccessFile
对象的新实例时,就像隐式调用open方法一样。
在创建对象的过程中,还会创建一个新的FileDescriptor对象来表示与文件的连接

我建议使用语句创建这个对象,因为
RandomAccessFile
实现了接口
java.lang.AutoCloseable

try (RandomAccessFile stmt = new RandomAccessFile("file.txt", "rw")) {
  // your code
} catch (IOException e) {
  // Exception handling
}

创建
RandomAccessFile
对象的新实例时,就像隐式调用open方法一样。
在创建对象的过程中,还会创建一个新的FileDescriptor对象来表示与文件的连接

我建议使用语句创建这个对象,因为
RandomAccessFile
实现了接口
java.lang.AutoCloseable

try (RandomAccessFile stmt = new RandomAccessFile("file.txt", "rw")) {
  // your code
} catch (IOException e) {
  // Exception handling
}

为什么
文件
上也没有
打开
?基本的io api在流上运行,只需阅读相关的oracle教程即可。我从未想过要阅读oracle文档。谢谢你的洞察力。为什么
文件上也没有
打开
?基本的io api在流上运行,只需阅读相关的oracle教程即可。我从未想过要阅读oracle文档。感谢您的见解。因此,一旦我们关闭RandomAccessFile,流就关闭了,我们必须实例化一个新的流,以便再次在该文件上“rw”?我没有对其进行myslef测试,但这就是我从java文档获得它的方式。做一个2行的小项目来说服自己:)所以一旦我们关闭RandomAccessFile,流就关闭了,我们必须实例化一个新的流,以便再次在文件上“rw”?我没有自己测试它,但这就是我从java文档中得到它的方式。做一个2行的小项目来说服自己:)