获取javax.xml.stream.XMLStreamReader读入的字节数

时间:2009-02-26 21:21:16

标签: java xml stream

有没有办法获取XMLStreamReader读入的字节数,我使用的是java.io.FileReader,它被传递到创建xml阅读器的工厂。我怀疑XMLStreamReader是否可行,但任何解决方法都很棒。

2 个答案:

答案 0 :(得分:1)

一种流行的方法是创建一个ByteCountingReader(Reader r);,我想我不必再具体了: - )

答案 1 :(得分:1)

假设你做的是这样的事情:

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

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

你会做这样的事情:

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

其中CoutingInputStream是您需要编写/查找的类,用于跟踪从底层InputStream对象读取的字节数。