/ / Nie można usunąć pliku pdf po otwarciu za pomocą programu renderującego PDF - java, pdf, pdfrenderer

Nie można usunąć pliku pdf po otwarciu z Renderer PDF - java, pdf, pdfrenderer

Otwieram plik PDF, który utworzyłemiText. Bez otwierania go w module renderującym PDF i po prostu otwierając go normalnie i zamykając, mogę usunąć i zastąpić plik. Jednak gdy użyję modułu renderującego PDF, aby go otworzyć, to go zamknę. Nie mogę usunąć pliku PDF ani go zastąpić.

ByteBuffer buf;

...

randomAccessFile = new RandomAccessFile(new File(file), "r");
fileChannel = randomAccessFile.getChannel();
buf = fileChannel.map(FileChannel.MapMode.READ_ONLY, 0, fileChannel.size());
pdfFile = new PDFFile(buf);

Kod tutaj pobiera obraz i umieszcza go w panelu.

Następnie zamykam powyższe elementy.

Wciąż jest gdzieś otwarty, ale nie mogę się domyślić, gdzie docenia się wszelką pomoc.

Odpowiedzi:

1 dla odpowiedzi № 1

Błąd wydaje się być w nie pokazanej reszcie (lub zamykaniu pliku fileChannel).

PDFFile pdfFile = new PDFFile(new File(file));
PdfReader pdfReader = pdfFile.getPdfReader();
try {
...
} finally {
pdfReader.close();
}

0 dla odpowiedzi nr 2

Czy zamykasz plik? Jeśli nadal masz otwarty plik, Java nie może go usunąć.