CSV ファイルを開くために使用していましたがFile.ReadAllText()
、Excel でファイルを閉じるのを忘れるたびに、アプリケーションがファイルにアクセスできないために例外がスローされます。
(私にはクレイジーに思えます。つまり、ReadAllText の READ はかなり明確に見えるということです)
すべての機能を備えた File.Open があることは知っていますが、バッファと文字配列をいじることを伴わない「中間」メソッドはありますか?
CSV ファイルを開くために使用していましたがFile.ReadAllText()
、Excel でファイルを閉じるのを忘れるたびに、アプリケーションがファイルにアクセスできないために例外がスローされます。
(私にはクレイジーに思えます。つまり、ReadAllText の READ はかなり明確に見えるということです)
すべての機能を備えた File.Open があることは知っていますが、バッファと文字配列をいじることを伴わない「中間」メソッドはありますか?
次のものが欲しいだけだと思います:
using (var fileStream = new FileStream("foo.bar", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var textReader = new StreamReader(fileStream))
{
var content = textReader.ReadToEnd();
}
パラメータは、FileAccess.Read
ファイルを読み取るだけであることを示すために重要です。もちろん、これを行うためにも、ファイルは Excel によって読み取り共有モードで開かれている必要があります ( FileShare
.NET の列挙を参照)。私はテストしていないので、Excel がこれを行うことを保証することはできません。
使用中のファイルを開くためにファイル共有フラグを指定したい場合は、File.Open() に行き詰まっています。