EeBlog(テクニカルブログ)

第105回 ファイルチャンネルの入出力

引き続き「ファイルチャンネルの入出力」について見ていきます。

前回はFileInputStreamのgetChannelメソッドによりFileChannelを取得しましたが、これは読み込み専用のFileChannelです。
書き込み専用のFileChannelはFileOutputStreamのgetChannelメソッドで取得できます。

FileChannelはバイトを書き込むためのWritableByteChannel インターフェース、GatheringByteChannelインターフェースを実装しており、これらのwriteメソッドを実行すると、現在位置(position)からバイトを書き込みます。
ただし、追加モードでは、現在位置をファイルの末尾に設定してからバイトを書き込みます。
また、現在位置は書き込まれた分だけ移動します。

(さらに…)

第104回 ファイルチャンネルの入出力

今回からは「ファイルチャンネルの入出力」について見ていきます。

FileChannelはファイル入出力用のチャンネルです。
FileChannelはFileInputStream、FileOutputStream、RandomAccessFileのgetChannelメソッドで取得できます。

FileChannelはファイルの現在位置(position)を持っています。
FileChannelはバイトを読み込むためのReadableByteChannelインターフェース、ScatteringByteChannelインターフェースを実装しており、これらのreadメソッドを実行すると、現在位置からバイトを読み込みます。
また、現在位置は読み込まれた分だけ移動します。
(さらに…)

第103回 バッファの操作

今回は「バッファの操作」について見ていきます。

ByteBufferクラスには、バッファの読み書きをするメソッドとしてputメソッド、getメソッドがあります。
これらのメソッドには、相対位置に対して読み書きするものと絶対位置に対して読み書きするものがあります。
相対位置に対する読み書きでは、バッファの現在位置(position)から読み書きを行います。
絶対位置に対する読み書きでは、バッファの指定されたインデックス位置の読み書きを行います。

(さらに…)