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