当我第一次看到System.IOUtils
单元的TFile.ReadAllBytes
和TFile.ReadAllText
以及TStreamReader
中的TBinaryReader
和System.Classes
类时很高兴有简单的方法来读取二进制文件和文本文件。
使用它们一段时间后,我注意到默认共享模式是隐式fmShareCompat
,因为它们都使用TFileStream.Create
,但没有明确指定共享模式。
由于fmShareCompat
在Windows上被视为fmShareExclusive
,因此在使用时会导致文件锁定问题。
这是Delphi开发人员的疏忽吗?或者是否有理由默认不使用fmShareDenyWrite
?
为什么没有办法指定共享模式?
我现在很想写这些类的自己版本,以使它们更友好地分享。