2007年6月7日木曜日

nioとgzip

普通のファイルを読むつもりで、java.nioを使って書いてたら、gzipされたファイルも読まないといけなくなった。
GZIPInputStreamからは、ReadableByteChannelが取得できないので、困っていた。

FileInputStreamからFileChannel取得していたので、環境が限定されるけど、/dev/stdinでも使おうかと思ったら、
FileInputStreamのコンストラクタで、FileDescriptorを渡すものがあるのに気づいた。

ということで、FileInputStreamコンストラクタに、FileDescriptor.inを渡して解決しました。

まあ、複数のファイルは読めないけど、今回は全部つながっててもいいので、
gzip -dc *.gzとかすれば問題なし。



0 件のコメント:

コメントを投稿