InputStreamReader.markSupported è falso
-
13-09-2019 - |
Domanda
Ho bisogno di caratteri “non-lettura” da un InputStreamReader
. A tal fine ho voluto usare mark
e reset
ma markSupported
restituisce false
per la classe InputStreamReader
, dal momento che non mantiene un buffer interno e / o la coda di caratteri.
BufferedInputStream
e PushbackInputStream
ma non è appropriato qui perché tampone su base di byte, mentre Ho bisogno di caratteri .
La Java offrono un lettore di carattere buffer che può caratteri non-leggere? In realtà, mi permetta di limitare questa ulteriore, ho sempre e solo bisogno di non-lettura un singolo di caratteri (per scopi di lookahead). Ho davvero bisogno di mantenere la mia lookahead?
Soluzione
Le classi java.io.BufferedInputStream
e java.io.PushbackInputStream
base a due byte-stream hanno controparti basate loro carattere-stream nello stesso package:
java.io.PushbackReader
java.io.BufferedReader
Altri suggerimenti
Hai provato java.io.BufferedReader?
Si potrebbe avvolgere il flusso di ingresso utilizzando un BufferedReader
Reader markedReader = new BufferedReader(inputStreamReader) ;
Il lettore tamponata fa segno di sostegno e la legge caratteri.