Odczytując kod, oczywistym jest, że biblioteka libpst rzeczywiście nie ujawnia metody "zamknięcia". Metoda finalize()
zamyka plik leżący u podstaw, gdy PSTFile
jest zbędny, dlatego zalecam użycie go w możliwie najmniejszym zakresie i pozbycie się go JAK NAJSZYBCIEJ, ale poza tym niewiele możesz zrobić (poza reporting an issue to the project - lub jeszcze lepiej, oczywiście wysyłając łatkę).
EDIT 1:
PSTFile
ma getFileHandle()
metodę, która zwraca plik bazowego, więc można close()
że:
PSTFile pstFile = new PSTFile("Path of the pst file");
// use the file
pstFile.getFileHandle().close();
EDIT 2:
Utworzyłem pull request dodać PSTFile.close()
. Zobaczmy, jak to kibicuje.
EDYTUJ 3:
Moja prośba o połączenie została scalona (dzięki Richard Johnson!). W następnej wersji (lub jeśli samodzielnie zbudujesz java-libpst), będziesz mógł zadzwonić bezpośrednio pod numer close()
pod numerem PSTFile
.
Mam aplikację do odczytu plików PST. Aplikacja nie może odczytać pliku pst, który jest dostępny w innej aplikacji. Jeśli użyję powyższego kodu, aplikacja nie może odczytać pliku pst. Aplikacja może odczytać raz po ponownym uruchomieniu systemu. –