1

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

4

2 回答 2

1

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

于 2009-02-26T21:25:58.527 回答
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 对象读取的字节数。

于 2009-02-26T22:15:49.250 回答