System.in InputStreamのように動作するが、プログラムで追加できるInputStreamクラスを作成しようとしています(動的に追加できる無限のInputStream)
私が何を意味するのか理解できない場合は、これが私が書いたものと試したものです
public class QueuedInputStream extends InputStream {
private LinkedList<Character> list;
public QueuedInputStream() {
list = new LinkedList<Character>();
}
@Override
public int read() throws IOException {
while (list.isEmpty()) {
try {
Thread.sleep(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
int value = (byte)list.get(0).charValue();
list.remove();
return value;
}
public void queue(String s) {
char[] chars = s.toCharArray();
for(int i = 0; i < chars.length; i++) {
list.add(chars[i]);
}
}
}
私は正しい方向に進んでいますか?それとも私はこれをやろうとして完全に間違っていますか?もっと説明してほしい場合は、お気軽にお問い合わせください