鉴于此示例代码:
1: using (StreamWriter sw = new StreamWriter(@"C:\file.txt"))
2: {
3: sw.WriteLine(great_string);
4: }
5:
6: using (StreamReader sr = new StreamReader(@"C:\file.txt"))
7: {
8: sr.ReadToEnd();
9: }
是否有可能在第 8 行调用时great_string
不存在第 3行上的内容?在我看来这是可能的,因为你的平均 CPU 工作速度比你的平均 HDD 快得多,但我今天一直在测试这个,到目前为止,当我在线读取文件时,第 3 行写入的字符串始终存在8. 我在想,在将所有数据写入文件/从文件中读取之前,该语句可能不会关闭流,从而防止了我所询问的那种情况。C:\file.txt
StreamReader.ReadToEnd
using
我一直在阅读MSDN 上的StreamWriter.Close方法,它说明了以下内容:
您必须调用 Close 以确保所有数据都正确写入底层流。
但它没有说明数据何时会被写入底层流。
提前感谢您提供有关此主题的任何信息。我确实搜索了这个问题的答案,但我没有找到任何东西......我真的不知道要搜索什么术语。