Простой поток ввода байтов Java - PullRequest
0 голосов
/ 10 октября 2019

Я сейчас пишу статью, сравнивая скорости ввода-вывода и NIO. Для этого мне нужен простой InputStream, который может читать 1 байт за раз. FileInputStream работает для загрузки всего файла, который мне нужен для другой части. Но я не могу найти простой способ загрузки одного байта за другим, как я мог бы сделать со сканером для целых. Чем я смогу прекратить чтение, как только достигну байта, который я хочу прочитать. Байты, которые должны быть прочитаны, генерируются случайным образом, так что это не символы или что-либо необычное.

Это такой глупый случай использования (я знаю, что он довольно привлекательный), что его не существует?

Привет

1 Ответ

0 голосов
/ 10 октября 2019
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.ThreadLocalRandom;

public class MyInputSream extends InputStream {
    @Override
    public int read() throws IOException {
        return ThreadLocalRandom.current().nextInt(0, 0x100);
    }
}
...