Java: создать FileChannel с поддержкой байтов - PullRequest
5 голосов
/ 29 октября 2011

У меня есть класс для ввода-вывода, который использует ByteBuffer для буферизации доступа к FileChannel (поэтому он в основном принимает FileChannel в конструкторе).Я хотел бы протестировать его, так что было бы неплохо, если бы я мог получить FileChannel с байтовым массивом, чтобы избежать создания и удаления файлов во время теста.

Чтобы дать вам идею, было бы идеально, если быЯ мог бы получить что-то вроде ByteArrayOutputStream.getChannel ().

1 Ответ

11 голосов
/ 29 октября 2011

Вы можете использовать Channels.newChannel(InputStream) или Channels.newChannel(OutputStream), но это даст вам ReadableByteChannel или WritableByteChannel. Они не дадут вам FileChannel, что имеет смысл, учитывая, что у вас нет файла - FileChannel без файла не имеет никакого смысла. Если вы измените свой класс, чтобы принять любой ReadableByteChannel или WritableByteChannel, это должно быть хорошо.

...