【问题标题】:Get the amount of bytes read in by javax.xml.stream.XMLStreamReader获取 javax.xml.stream.XMLStreamReader 读取的字节数
【发布时间】:2009-02-26 21:21:16
【问题描述】:

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

【问题讨论】:

    标签: java xml stream


    【解决方案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 对象读取的字节数。

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-27
      • 1970-01-01
      相关资源
      最近更新 更多