C#文件处理相关内容

摘要:
C#修改文件内容和过滤有效内容,文件格式一定。=null){try{//FileStreamfs=newFileStream;//读StreamReadersr=newStreamReader;stringtext="";//读出来即将要写入的内容stringline=sr.ReadLine();while(line!=null){if{stringcheckS="";//1.更改地址line=line.Replace;//2.去除原来的checkSumline=line.Substring;//3.计算checkSumcheckS=checkSum;line=line+checkS;Console.WriteLine;text+=line+"";}else{}line=sr.ReadLine();}sr.Close();sr.Dispose();//更改保存文本StreamWritersw=newStreamWriter;sw.WriteLine;sw.Close();sw.Dispose();//fs.Close();//fs.Dispose();}catch{MessageBox.Show;}strFilePath=file.FileName;}else{return;}}checkSum的算法实现publicstringcheckSum//计算文件一行的校验和返回string为校验和结果一字节{stringchecksum=null;intsum=0;string[]shu=newstring[line.Length/2];for{shu[i]=line.Substring;sum+=Convert.ToInt32;}intjieguo=255-sum;stringhe=Convert.ToString.PadLeft;checksum=he.Substring.ToUpper();returnchecksum;}C#替换文本内容,数据量不太大的话直接Replace为""。usingSystem.IO;//读取文本 StreamReadersr=newStreamReader;stringstr=sr.ReadToEnd();sr.Close();//替换文本str=str.Replace;//更改保存文本StreamWritersw=newStreamWriter;sw.WriteLine;sw.Close();C#删除文件内容,用正则表达式strings=File.ReadAllText;stringr=Regex.Replace(s,@"(?

C#修改文件内容和过滤有效内容,文件格式一定。

            OpenFileDialog file = new OpenFileDialog();//定义新的文件打开位置控件  
            file.InitialDirectory =Application.StartupPath;
            file.Filter = "mot file(*.mot)|*.mot|hex file(*.hex)|*.hex|s19 files(*.s19)|*.s19";
            file.FilterIndex = 0;
            file.RestoreDirectory = true;
            if (file.ShowDialog() ==DialogResult.OK)
            {
                if (file.FileName != null)
                {
                    try{
                        //FileStream fs = new FileStream(file.FileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                        //
                        StreamReader sr = newStreamReader(file.FileName);
                        string text = "";//读出来即将要写入的内容
                        string line =sr.ReadLine();
                        while (line != null)
                        {
                            if (line.Contains("S3"))
                            {
                                string checkS = "";
                                //1.更改地址
                                line = line.Replace("S32508FB", "S32500FB");
                                //2.去除原来的checkSum
                                line = line.Substring(0, line.Length - 2);
                                //3.计算checkSum
                                checkS =checkSum(line);
                                line = line +checkS;
                                Console.WriteLine(line);
                                text += line + "
";
                            }
                            else{
                            }
                            line =sr.ReadLine();
                        }
                        sr.Close();
                        sr.Dispose();

                        //更改保存文本
                        StreamWriter sw = new StreamWriter(file.FileName, false);
                        sw.WriteLine(text);
                        sw.Close();
                        sw.Dispose();
                        //fs.Close();
                        //fs.Dispose();
}
                    catch(Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    strFilePath =file.FileName;
                }
                else{ return; }
            }

checkSum的算法实现

 public string checkSum(string line)//计算文件一行的校验和(一行文件string不包含最后两位校验和)返回string为校验和结果一字节
{
            string checksum = null;
            int sum = 0;
            string[] shu = new string[line.Length / 2];
            for (int i = 1; i < line.Length / 2; i++)
            {
                shu[i] = line.Substring(i * 2, 2);
                sum += Convert.ToInt32(shu[i], 16);
            }
            int jieguo = 255 -sum;
            string he = Convert.ToString(jieguo, 16).PadLeft(2, '0');
            checksum = he.Substring(he.Length - 2, 2).ToUpper();
            returnchecksum;

        }

C#替换文本内容,数据量不太大的话直接Replace为""。

usingSystem.IO;

//读取文本 
StreamReader sr = newStreamReader(文本文件的路径);
string str =sr.ReadToEnd();
sr.Close();
//替换文本
str = str.Replace("E103","E103**");
//更改保存文本
StreamWriter sw = new StreamWriter(文本文件的路径,false);
sw.WriteLine(str);
sw.Close();

C#删除文件内容,用正则表达式

string s = File.ReadAllText(Server.MapPath("~/test.txt"));
string r = Regex.Replace(s, @"(?m)
^3;.*$", "");
File.WriteAllText(Server.MapPath("~/test.txt"), r);

免责声明:文章转载自《C#文件处理相关内容》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linq日期查询C# 简单日志文本输出下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

redis分布式共享锁模拟抢单的实现

本篇内容主要讲解的是redis分布式锁,并结合模拟抢单的场景来使用,内容节点如下: jedis的nx生成锁 如何删除锁 模拟抢单动作 1.jedis的nx生成锁 对于分布式锁的生成通常需要注意如下几个方面: 创建锁的策略:redis的普通key一般都允许覆盖,A用户set某个key后,B在set相同的key时同样能成功,如果是锁场景,那就无法知道到底...

Android(java)学习笔记43:Map集合的遍历之键找值

1. Map集合的遍历之键找值  1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.Set; 6 7 /* 8 * Map集合的遍历。 9 * Map -- 夫妻对 10 * 思路: 1...

MD5Helper辅助类

DES加密和解密 public classMD5Helper { ///DES加密 ///sKey public string MD5Encrypt(string pToEncrypt, stringsKey) { DESCryp...

通过wireshark获取应用接口并使用爬虫爬取网站数据(二)

接上文 找到接口之后连续查看了几个图片,结果发现图片都很小,于是用手机下载了一个用wireshark查看了一下url 之前接口的是 imges_min下载的时候变成了images soga,知道之后立马试了一下 果然有效, 但是总不能一个一个的查看下载吧 于是连夜写了个java爬虫 下面是代码 packagecom.feng.main; importj...

在javaweb的项目当中实现随机数字的生成

首先,需要在javaweb的项目当中新建一个Servlet文件,然后再web.xml中配置一下: 这样运行的时候就可以通过“http://localhost:8080/Response/Response02”的地址访问到我们的Servlet。 开始代码的编写吧: 首先,我们需要写一个生成随即数字的方法,我们这次实现随即生成七位数的数字: priv...

MySQL分段统计SQL写法 与 Mybatis 异常 java.math.BigDecimal cannot be cast to java.lang.Integer

mysql> select -> sum(case when score<60 then 1 else 0 end) as '<60', -> sum(case when score>=60 and score<=69 then 1 else 0 end) as '60~69', -&...