W systemie Windows Server 2012 R2 program Kotlin używa FileChannel.tryLock()
do utrzymywania wyłącznej blokady pliku, na przykład:
val fileRw = RandomAccessFile(file, "rw")
fileRw.channel.tryLock()
Po założeniu tej blokady nie mogę otworzyć pliku za pomocą:
- WordPad
- Notepad ++
Programowo z C # dla dowolnej wartości
FileShare
:using (var fileStream = new FileStream(processIdPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var textReader = new StreamReader(fileStream)) { textReader.ReadToEnd(); }
Z wiersza
type
poleceń polecenie:C:\some-directory>type file.txt The process cannot access the file because another process has locked a portion of the file.
Internet Explorer (tak, byłem zdesperowany)
Mogę go otworzyć za pomocą Notatnika.
Jak do cholery Notatnik jest w stanie otworzyć zablokowany plik, czego nic innego nie może?
źródło