C# 实现任意类型文件的创建,打开,读取,写入 (FileStream StreamReader StreamWriter)

C# 对文件的操作网上有很多代码,但是跟自己的具体特殊需求不是相符的代码,所以价值不大。 (需要什么特殊文件操作,就归纳实现什么特殊文件操作的代码)

1、我需要如果有该文件就只是打开,如果没有该文件就创建的功能

 FileStream fs = new FileStream("D://tempdata.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);  //文件地址路径自己定义 , 第二个参数根据自己需求改动 ,我的需求就是OpenOrCreate打开或创建

2、我需要写入文件内容

  • 是不是需要覆盖文件之前有的内容,覆盖就只有最后一次写入的内容,不覆盖就把最后一次写入内容添加到文件原内容末尾
 StreamWriter writer = new StreamWriter("D://tempdata.txt", true);  //可以直接对文件进行写操作,第一个参数是文件地址路径,第二个参数为true就是不覆盖从文件末尾添加新写入的内容,参数为false就是覆盖之前的文件内容
  • 是不是需要在写入文件内容里什么地方添加换行,所以在读readline的时候可以读到正确有效的一组数据
                StreamWriter writer = new StreamWriter("D://tempdata.txt", true);
                writer.Write("the content i want to write to file");
                writer.Write(System.Environment.NewLine);   //给写入文件的内容,在你需要的地方添加换行符,进行换行操作

3、完整的写入文件内容代码

 string sAllTVData = "";   //要写入文件里的内容变量
                FileStream fs = new FileStream("D://tempdata.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);  //创建文件对象
                StreamReader reader = new StreamReader(fs, System.Text.Encoding.UTF8);   //创建文件读取流对象
                string s_TVinfo = "";
                while ((s_TVinfo = reader.ReadLine()) != null)   //实际工作中对写入文件的内容处理,我遇到的是把文件里的内容读出来,然后结合当前手里的数据进行分析处理,然后重新写入文件里,当然不需要这种需求,就只单纯打开文件,写入文件就行了
                {
                    //sAllTVData = sAllTVData + s_TVinfo +"\n";
                    //sTVDataSum++;
                }
                string data = "sn=" + _uScanCode + "&workOrderCode=" + sWorkOrderCode + "&lanMac=" + _sRecieveLanMac + "&wifiMac=" + _sRecieveWifiMac + "&btMac=" + _sRecieveBtMac + "&testUserName=" + sTestUser + "&testDateTime=" + sTimeStr;
                sAllTVData = data;
                StreamWriter writer = new StreamWriter(fs, System.Text.Encoding.UTF8);   //创建写入文件流对象,指定文件对象和编码字符集
                writer.Write(sAllTVData);   //将内容写入文件,默认是覆盖
                writer.Write(System.Environment.NewLine);  //给写入文件内容后添加换行
                //关闭所有打开的文件流对象
                writer.Close();
                reader.Close();
                fs.Close();   

4、完整的读取文件内容代码

                //读取已经保存的数据
                string sAllTVData = "";
                FileStream fs = new FileStream("D://tempdata.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
                StreamReader reader = new StreamReader(fs, System.Text.Encoding.UTF8);
                string s_TVinfo = "";
                while ((s_TVinfo = reader.ReadLine()) != null)  //按行来读取文件里的内容
                {
                    sAllTVData = sAllTVData + s_TVinfo +"\n";
                }
                writer.Close();
                reader.Close();
                fs.Close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值