java no se puede eliminar el archivo, siendo utilizado por otro proceso

Tengo este codigo

import org.apache.commons.io.FileUtils; try { FileUtils.copyURLToFile(new URL(SHA1_LINK), new File("SHA1.txt")); if(!sameSha1()) { System.out.println("sha diferentes"); FileUtils.copyURLToFile(new URL(LINK), new File(PROG)); } } catch (Exception e) { System.out.println("Internet is off"); } //delete SHA1 file Files.deleteIfExists(Paths.get("SHA1.txt")); 

y cuando lo ejecuto dice

java.nio.file.FileSystemException
El proceso no puede acceder al archivo porque lo está utilizando otro proceso (en sun.nio.fs.WindowsException)

En el sameSha1() tengo esto:

 String sha1Txt = new Scanner(new File("SHA1.txt")).useDelimiter("\\Z").next(); 

Quiero eliminar el archivo ‘SHA1.txt’. ¿Cómo puedo hacer esto?

Supongo que con sameSha1 abres SHA1.txt para leerlo y te olvidas de cerrarlo.

EDITAR:

De su comentario, usted contiene la siguiente línea en sameSha1 :

 String sha1Txt = new Scanner(new File("SHA1.txt")).useDelimiter("\\Z").next(); 

Entonces crea una instancia de escáner pero no la cierra explícitamente. Deberías hacer algo como eso:

 Scanner s = new Scanner(new File("SHA1.txt")); try { String sha1Txt = s.useDelimiter("\\Z").next(); ... return result; } finally { s.close(); } 

O como @HuStmpHrrr sugiere en Java 7:

 try(Scanner s = new Scanner(new File("SHA1.txt"))) { String sha1Txt = s.useDelimiter("\\Z").next(); ... return result; } 

Si está siendo usado por otro proceso, supongo que algún otro progtwig tiene ese archivo de texto abierto. Intenta cerrar el otro progtwig.

    Intereting Posts