En un sistema Windows Server 2012 R2, un programa Kotlin usa FileChannel.tryLock()
para mantener un bloqueo exclusivo en un archivo, como este:
val fileRw = RandomAccessFile(file, "rw")
fileRw.channel.tryLock()
Con este bloqueo en su lugar, no puedo abrir el archivo con:
- WordPad
- Notepad ++
Programáticamente con C #, para cualquier valor de
FileShare
:using (var fileStream = new FileStream(processIdPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var textReader = new StreamReader(fileStream)) { textReader.ReadToEnd(); }
Desde la línea de comando, el
type
comando:C:\some-directory>type file.txt The process cannot access the file because another process has locked a portion of the file.
Internet Explorer (sí, estaba desesperado)
Yo puedo abrirlo con el Bloc de notas.
¿Cómo diablos es que el Bloc de notas puede abrir un archivo bloqueado que nada más puede?
fuente