diff --git a/test/java/nio/MappedByteBuffer/Force.java b/test/java/nio/MappedByteBuffer/Force.java index bd66a31ff21f2add1f5394636521e72195c6fdd3..81f908bacee21b9570fc7d3a61dc37966c15e90d 100644 --- a/test/java/nio/MappedByteBuffer/Force.java +++ b/test/java/nio/MappedByteBuffer/Force.java @@ -37,14 +37,17 @@ public class Force { Random random = new Random(); long filesize = random.nextInt(3*1024*1024); int cut = random.nextInt((int)filesize); - File file = new File("Blah"); - RandomAccessFile raf = new RandomAccessFile(file, "rw"); - raf.setLength(filesize); - FileChannel fc = raf.getChannel(); - MappedByteBuffer buf1 = fc.map( - FileChannel.MapMode.READ_WRITE, cut, filesize-cut); - buf1.force(); - fc.close(); - raf.close(); + File file = File.createTempFile("Blah", null); + file.deleteOnExit(); + try (RandomAccessFile raf = new RandomAccessFile(file, "rw")) { + raf.setLength(filesize); + FileChannel fc = raf.getChannel(); + MappedByteBuffer mbb = fc.map(FileChannel.MapMode.READ_WRITE, cut, filesize-cut); + mbb.force(); + } + + // improve chance that mapped buffer will be unmapped + System.gc(); + Thread.sleep(500); } } diff --git a/test/java/nio/MappedByteBuffer/ZeroMap.java b/test/java/nio/MappedByteBuffer/ZeroMap.java index f80e72f803d80e8706fe139e0b410c659f35fde9..81cd3532d13dfe957f8cb2cacd13d999f55acbd1 100644 --- a/test/java/nio/MappedByteBuffer/ZeroMap.java +++ b/test/java/nio/MappedByteBuffer/ZeroMap.java @@ -37,16 +37,19 @@ public class ZeroMap { Random random = new Random(); long filesize = random.nextInt(1024*1024); int cut = random.nextInt((int)filesize); - File file = new File("Blah"); - RandomAccessFile raf = new RandomAccessFile(file, "rw"); - raf.setLength(filesize); - FileChannel fc = raf.getChannel(); - MappedByteBuffer buf1 = fc.map( - FileChannel.MapMode.READ_WRITE, cut, 0); - buf1.force(); - buf1.load(); - buf1.isLoaded(); - fc.close(); - raf.close(); + File file = File.createTempFile("Blah", null); + file.deleteOnExit(); + try (RandomAccessFile raf = new RandomAccessFile(file, "rw")) { + raf.setLength(filesize); + FileChannel fc = raf.getChannel(); + MappedByteBuffer mbb = fc.map(FileChannel.MapMode.READ_WRITE, cut, 0); + mbb.force(); + mbb.load(); + mbb.isLoaded(); + } + + // improve chance that mapped buffer will be unmapped + System.gc(); + Thread.sleep(500); } }