在对csv文件的操作无非就是通过文件流对文件进行创建、写入和读取,在csv文件不打开的情况下,这些操作都可以轻松完成。但是当csv文件已经打开的情况下,通常就有可能遇到如下两种错误
有时候为了避免以上错误但是又要查看该文件内数据,通常的做法是每次查看数据时都对该文件复制一个副本出来,但是这样还是相对麻烦,不过也算一个解决方案吧。
由于项目需要,客户确实很有可能在程序运行期间打开程序正在读写的csv文件查看数据,此时为了让程序可以正常运行和读写数据,可以通过如下代码操作csv文件,即使csv文件打开了也可以正常读写:
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 string path = "1.csv"; 6 string content = "hello world"; 7 if(!File.Exists(path)) 8 { 9 using(File.Create(path)) 10 { 11 12 } 13 } 14 File.SetAttributes(path, FileAttributes.Normal); 15 File.AppendAllText(path,content); 16 File.SetAttributes(path, FileAttributes.ReadOnly); 17 } 18 }
其实就是在对csv文件进行读写前后,通过对该文件的属性进行设置即可。