2013-04-15 4 views
0

Как XmlPullParser управляет ресурсами? Почему нет close(), release() или какой-либо подобный метод?Управление ресурсами XmlPullParser

Например, я хочу читать XML из файла:

final XmlPullParserFactory xppf = XmlPullParserFactory.newInstance(); 
    final XmlPullParser xpp = xppf.newPullParser(); 
    xpp.setInput(new FileInputStream("test/file.xml)); 
    while (xpp.next() // parsing... 
    // ... 

Кто должен закрыть этот FileInputStream и высвободить ресурсы?

Если XmlPullParser будет закрыт FileInputStream автоматически после того, как весь файл будет прочитан, что произойдет, если произойдет исключение или если я никогда не звоню xpp.nextXXX()?

Будет ли это закрывать поток в любом случае, поэтому я не должен беспокоиться об управлении ресурсами?

ответ

0

Вы открыли файл с

new FileInputStream("test/file.xml) 

, так что вы должны закрыть его. Кроме того, вы должны знать, что XmlPullParser будет генерировать исключения.

Смежные вопросы