Таблица совместимости браузеров SVG / VML

Чтобы использовать XMLStreamReader, я инициализирую его как -

XMLInputFactory f = XMLInputFactory.newInstance();
XMLStreamReader reader = f.createXMLStreamReader(new FileReader(
        "somefile.xml"));

Итерирую как -

if (reader.hasNext()) {
    reader.next();
    // do something with xml data
}

Наконец закрываю как -

reader.close();

Это выглядит нормальным потоком, но я наблюдаю какое-то странное поведение. Даже после закрытия программы чтения ОС не позволяет мне удалять / перемещать XML-файл, если я не выйду из программы Java. При запуске на Win2k8-сервере я получаю сообщение об ошибке, в котором говорится, что java.exe использует этот XML-файл.

Итак, у меня есть пара вопросов -

  1. Мне нужно явно закрывать каждое закрытие FileReader?
  2. Как я могу я выяснить, какой путь кода Java сохраняет этот дескриптор файла открытым.

Просматривая @ документацию по close () XMLStreamReader, я получаю следующее: «Освобождает все ресурсы, связанные с этим Reader. Почему это не закрывается функцией чтения close ()?

7
задан siddharth178 7 May 2011 в 12:22
поделиться