2009-02-26 7 views
1

XMLStreamReaderによって読み込まれるバイト数を取得する方法はありますか?java.io.FileReaderを使用しています。 xmlリーダーを作成します。私はこれがXMLStreamReaderで可能だと疑っていますが、どのような回避策も素晴らしいです。javax.xml.stream.XMLStreamReaderによって読み取られたバイト数を取得します。

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

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

あなたを:

答えて

1

より任意のより具体的である必要はありません推測し、ByteCountingReader(Reader r);を作成することですCoutingInputStreamは、あなたがそれから読まれたバイト数を追跡​​見つける/書き込みする必要がありますクラスです

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); 

:このような何かをするだろう基本となるInputStreamオブジェクト

+1

このソリューションの実装を探している人は、git hubの短い実装へのリンクがあります: https://github.com/kjkrol/useful-code/blob/master/src/main/java/kjkrol/有用コード/ CountingInputStream.java –

1

一つの一般的な方法は、私はあなたがこのように気にいらをやっていると仮定すると、この:-)

関連する問題