InputStreamReader.markSupported é falsa
-
13-09-2019 - |
Pergunta
Eu preciso caracteres “read-un” a partir de um InputStreamReader
. Para esse efeito, eu queria usar mark
e reset
mas markSupported
retornos false
para a classe InputStreamReader
, uma vez que não mantém um buffer interno e / ou fila de caracteres.
Eu sei sobre BufferedInputStream
e PushbackInputStream
mas também não é apropriado aqui, uma vez que o buffer em base byte, enquanto Eu preciso caracteres .
O Java oferecer um leitor de caráter tamponada os caracteres que podem un-ler? Na verdade, deixe-me constranger que mais, eu só precisa un leitura um único de caracteres (para fins de verificação à frente). Eu realmente preciso para manter minha própria visão antecipada?
Solução
As classes java.io.BufferedInputStream
e java.io.PushbackInputStream
base dois byte-stream têm os seus homólogos baseados personagem-stream no mesmo pacote:
java.io.PushbackReader
java.io.BufferedReader
Outras dicas
Você já tentou java.io.BufferedReader?
Você pode embrulhar o fluxo de entrada usando um BufferedReader
Reader markedReader = new BufferedReader(inputStreamReader) ;
O leitor tamponada faz marca de suporte e lê caracteres.