Io 关于打开文件通道的查询

Io 关于打开文件通道的查询,io,nio,filechannel,bytechannel,Io,Nio,Filechannel,Bytechannel,为什么要以以下方式打开文件通道: FileChannel.openpath,StandardOpenOption.READ,StandardOpenOption.APPEND 有例外吗 我知道它是由API指定的。然而,我想知道为什么读、写的组合是允许的,而不是读和附加 提前谢谢。因为这并不意味着什么。只能从文件中读取内容时,不能将其追加到文件中。如果要编写追加,然后使用同一文件从文件中读取内容,该怎么办?它强制使用2个文件通道,一个用于阅读,另一个用于写入…不,它没有。没有人阻止您指定Stand

为什么要以以下方式打开文件通道:

FileChannel.openpath,StandardOpenOption.READ,StandardOpenOption.APPEND

有例外吗

我知道它是由API指定的。然而,我想知道为什么读、写的组合是允许的,而不是读和附加


提前谢谢。

因为这并不意味着什么。只能从文件中读取内容时,不能将其追加到文件中。

如果要编写追加,然后使用同一文件从文件中读取内容,该怎么办?它强制使用2个文件通道,一个用于阅读,另一个用于写入…不,它没有。没有人阻止您指定StandardOpenOption.WRITE以及READ和APPEND。你的问题没有意义。你的问题没有意义。对我来说,你的评论没有意义,因为按照你的指示会导致同样的例外。主线程java.lang.IllegalArgumentException中出现异常:不允许读取+追加。谢谢您的时间。@RollerBall那么换句话说,您确实想写入该文件吗?你的问题中没有提到。我唯一想知道的是,引用我的问题:我想知道为什么允许读、写组合,而不是读和附加,或者如果你愿意,我可以用读、写和附加来添加,但是附加意味着写,您可以使用“创建”和“附加”打开文件,而无需指定“写入”,并且仍然可以写入该文件。