FileShare.ReadWrite | FileShare.Delete 表示其他打開此文件的進程可以讀寫和刪除該文件.
當文件被此函數打開后, 即使文件被刪除, 移走, 重命名后, 仍然可以讀取里面的內容.(應當是操作系統並沒有真正刪除, 對象關閉后了才真正刪除)
using (var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete))
using (var fileReader = new StreamReader(stream, this.EncodingObject))
{
// do something.
}