Java:创建一个由bytearray支持的FileChannel

时间:2011-10-29 17:45:04

标签: java testing file-io io nio

我有一个IO类,它使用ByteBuffer来缓冲对FileChannel的访问(因此它基本上接受构造函数中的FileChannel)。我想对它进行单元测试,所以如果我能得到一个支持bytearray的FileChannel以避免在测试期间创建和删除文件,那就太好了。

为了给你一个想法,如果我能得到像ByteArrayOutputStream.getChannel()这样的东西,那就太完美了。

1 个答案:

答案 0 :(得分:11)

您可以使用Channels.newChannel(InputStream)Channels.newChannel(OutputStream),但这些会为您提供ReadableByteChannelWritableByteChannel。他们不会给你一个FileChannel,这是合理的,因为你没有文件 - 没有文件的FileChannel没有任何意义。如果您将班级更改为接受任何ReadableByteChannelWritableByteChannel,那应该没问题。

相关问题