2009-02-26 9 views

Antwort

1

Angenommen, Sie somthing wie dies tun:

final XMLInputFactory inputFactory; 
final XMLStreamReader reader; 
final InputStream  stream; 

inputFactory = XMLInputFactory.newInstance(); 
stream  = new FileInputStream(file); 
reader  = inputFactory.createXMLStreamReader(stream); 

Sie so etwas wie dies tun würde:

final XMLInputFactory  inputFactory; 
final XMLStreamReader  reader; 
final InputStream   stream; 
final CountingInputStream countingStream; 

inputFactory = XMLInputFactory.newInstance(); 
stream   = new FileInputStream(file); 
countingStream = new CountingStream(stream); 
reader   = inputFactory.createXMLStreamReader(countingStream); 

Wo CoutingInputStream ist eine Klasse, die Sie schreiben müssen, würde/feststellen, dass der die Anzahl von Bytes, hält von der gelesenen zugrundeliegendes InputStream-Objekt.

+1

Wenn jemand nach der Implementierung dieser Lösung suchen, hier ist ein Link zu meiner kurzen Implementierung auf Git-Hub: https://github.com/kjkrol/useful-code/blob/master/src/main/java/kjkrol/ nützlicher Code/CountingInputStream.java –

1

Eine beliebte Art und Weise ist eine ByteCountingReader(Reader r); zu schaffen, ich glaube, ich habe auf bestimmte nicht mehr sein als diese :-)

Verwandte Themen