2011-10-29 63 views
2

我有一個IO類,它使用ByteBuffer緩衝對FileChannel的訪問(所以它基本上接受構造函數中的FileChannel)。我想對它進行單元測試,所以如果我能夠獲得支持bytearray的FileChannel以避免在測試期間創建和刪除文件,那將會很不錯。Java:創建bytearray支持的FileChannel

爲了給你一個想法,如果我能得到像ByteArrayOutputStream.getChannel()這樣的東西,這將是完美的。

回答

9

您可以使用Channels.newChannel(InputStream)Channels.newChannel(OutputStream)但這些會給你一個ReadableByteChannelWritableByteChannel。他們不會給你一個FileChannel,這是有道理的,因爲你沒有一個文件 - FileChannel沒有文件沒有任何意義。如果您更改班級以接受任何ReadableByteChannelWritableByteChannel,那應該沒問題。