|
From: Ian T. <ijt...@gm...> - 2025-12-11 11:16:23
|
I think that's the expected behaviour on a windows machine for any file
opened in a program. The code clearly closes the input stream created from
the file that is passed in so I don't think there is any reason GeoTools
would be locking the file.
Ian
On Wed, 10 Dec 2025 at 17:31, Viatcheslav Sysoltsev <
Via...@h-...> wrote:
> Hi everyone,
>
> I'd like to ask if it is an intended behavior, that GeoTiffReader locks
> the file indefinitely? If yes, is there a way to read the file completely
> and "dispose" the reader and the lock?
>
> A simple program to demonstrate:
>
> import org.geotools.coverage.grid.GridCoverage2D;
> import org.geotools.gce.geotiff.GeoTiffReader;
> import org.junit.jupiter.api.Test;
>
> import java.io.File;
> import java.time.Duration;
>
> class GeotiffReaderTest {
> @Test
> public void read() throws Exception {
> File file = new File("C:\\Projects\\tmp\\tmp2\\qwf 2_TH.tif");
> GeoTiffReader reader = new GeoTiffReader(file);
> GridCoverage2D grid = reader.read(null);
> Thread.*sleep*(Duration.*ofSeconds*(60));
> }
> }
> when run, it reads the file and sleeps for a minute. Until JVM exits, the
> tif file cannot be moved or deleted:
>
> C:\Projects\tmp\tmp2>mv "qwf 2_TH.tif" "qwf 2_TH.tif2"
> /usr/bin/mv: cannot move 'qwf 2_TH.tif' to 'qwf 2_TH.tif2': Device or
> resource busy
>
> // the problem is reproducible with geotools 34.1 and 33.0
>
> With best regards,
> Viatcheslav Sysoltsev / Slava
>
> _______________________________________________
> GeoTools-GT2-Users mailing list
> Geo...@li...
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>
--
Ian Turton
|