回答編集履歴

1

解説追加

2020/02/08 10:01

投稿

hihijiji
hihijiji

スコア4152

test CHANGED
@@ -5,3 +5,29 @@
5
5
 
6
6
 
7
7
  それでだめなら、文字通りファイルがセキュリティソフトなど別のプロセスで使用されていて開けない可能性もあります。
8
+
9
+
10
+
11
+ ** [解説] **
12
+
13
+ 上でストレージのキャッシュとぼんやりとした表現を書きましたが、幾通りもあります。
14
+
15
+ 1.SSDやHDDなどに搭載されているキャッシュメモリ
16
+
17
+ 2.ディスクコントローラなどが搭載または占有しているキャッシュメモリ
18
+
19
+ 3.OSに搭載されている遅延書き込み機能(ディスクキャッシュ)
20
+
21
+ 4.Framework が間接的に利用するAPIの書き込みバッファ
22
+
23
+ 5.StreamWriter や CsvWriter が持っている(かもしれない)書き込みバッファ
24
+
25
+
26
+
27
+ このうち1と2は無関係です。
28
+
29
+ 5は(4も多分) using を抜けた時点でFlushされます。
30
+
31
+ 消去法で3が怪しくなります。
32
+
33
+ これをFlushする機能を持っているのが FileStream なのです。