admin管理员组

文章数量:1794759

C# 打开文件和显示读取的文件内容

C# 打开文件和显示读取的文件内容

C# 打开文件和显示读取的文件内容
  • 1. 打开文件所在的路径
  • 2. 根据现有的路径打开文件
    • 2.1 提取文件名称
  • 3. 打开HEX文件并且转换成bin文件
    • 3.1 Hex文件各部分的意义
  • 4 C# 打开txt文件,并且写入一些信

1. 打开文件所在的路径

通过点击按键,打开打开文件的界面,点击后可以在 richTextBox2上显示

private void button1_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件"; dialog.Filter = "txt格式(*.txt)|*.txt|所有文件|*.*"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { string file = dialog.FileName; richTextBox2.AppendText(file + "\\n");//显示路径,并且后面的叠加不删除 } }

显示出对应的文件

2. 根据现有的路径打开文件

和上部分的代码相比添加了读取文件内容的程序。

private void button1_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件"; dialog.Filter = "txt格式(*.txt)|*.txt|所有文件|*.*"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { string file = dialog.FileName; richTextBox2.AppendText(file + "\\n");//显示路径,并且后面的叠加不删除 //读取文件内容 System.IO.StreamReader sr = new System.IO.StreamReader(file, System.Text.Encoding.Default); String ls_input = sr.ReadToEnd().TrimStart(); richTextBox2.AppendText(ls_input + "\\n");//显示路径,并且后面的叠加不删除 } }

PS:bug 显示中文乱码,有待改进。

2.1 提取文件名称

file 的文件是显示了全部的文件路径 经过Path.GetFileName处理,path就成为了选中的文件名 最后显示在了label4上面

string file = dialog.FileName; string path = Path.GetFileName(file); //只获取文件名 string path12 = Path.GetDirectoryName(file);//获取文件路径 3. 打开HEX文件并且转换成bin文件 3.1 Hex文件各部分的意义

HEX文件每行数据都由4部分构成:

起始代码:+数据个数(2字节)+起始地址(4字节)+记录类型(1字节)+数据(N字节)+校验和(1字节)

其中记录类型对应:

00:数据,示例:0B 0010 00 6164647265737320676170 A7 01:文件结束,示例:00 0000 01 FF 02:扩展段地址,示例:02 0000 02 1200 EA 03:起始段地址,示例:04 0000 03 0000 3800 C1 04:扩展线性地址,示例:02 0000 04 FFFF FC 05:起始线性地址,示例:04 0000 05 0000 00CD 2A

可以查看维基百科

4 C# 打开txt文件,并且写入一些信 private void button2_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件"; dialog.Filter = "CSV格式(*.csv)|*.csv|txt格式(*.txt)|*.txt|所有文件|*.*"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { string file = dialog.FileName; string FilePath = Path.GetFileName(file); //只获取文件名 string DirectoryPath = Path.GetDirectoryName(file); richTextBox2.AppendText(file + "\\n");//显示路径,并且后面的叠加不删除 richTextBox2.AppendText(DirectoryPath + "\\n");//显示路径,并且后面的叠加不删除 //打开文件进行写入,这个部分的代码会请除之前的信 //FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Write); //StreamWriter sr = new StreamWriter(fs); //这个部分的代码,则是在文件的后面增加信, StreamWriter sr = new StreamWriter(file, true); sr.WriteLine("hello1 ! ");//开始写入值 sr.WriteLine("hello2 ! ");//开始写入值 sr.WriteLine("hello3 ! ");//开始写入值 sr.Write("hello233,"); sr.Write("hello233,"); sr.Write("hello233,\\n"); sr.Write("hello233,\\n"); sr.Write("hello233,\\n"); sr.Close(); //fs.Close(); string file2 = DirectoryPath + "/main_" + FilePath; richTextBox2.AppendText(file2 + "\\n");//显示路径,并且后面的叠加不删除 FileStream fs1 = new FileStream(file2, FileMode.OpenOrCreate, FileAccess.Write);//创建写入文件 fs1.Close(); StreamWriter sw = new StreamWriter(file2,true);//这里打开和创建文件分开写,就是为了保证文字作为添加的方式在文本后方加入信 sw.WriteLine("hello233");//开始写入值 sw.Close(); } }

本文标签: 文件内容