辜渝傧

13037102709

027-87870986

教学实训

您当前的位置:首页 > 教学资源 > 实训方案 >

C#应用实训|任务1 文件读取实现

发布者:唯众    布时间:2020-12-21 13:56:41    点击量:

任务描述

        选择菜单“打开”,则弹出“打开文件”对话框,要求用户选择要打开的文件,文件类型自动选择为“.txt”文件,当用户选择要打开的文本文件,点击“打开”按钮后,该文件内容自动显示到主窗口。

知识引入

  1. C#命名空间System.IO
System.IO命名空间是C#对文件、目录、文件流操作的支持类库。System.IO命名空间支持的主要类如表7-1所示:
表7-1  System.IO支持类表
类别 主要类
字节流 Stream、BufferedStream、MemoryStream、UnmanagedMemoryStream、FileStream
二进制流 BinaryReader、BinaryWriter
字符流 TextReader、TextWriter、StreamReader、StreamWriter、StringReader、StringWriter
文件操作 File、Path、Directory、FileSystemInfo、FileInfo、DirectoryInfo、DriveInfo
IO异常 IOException、FileLoadException、DriveNotFoundException、FileNotFoundException、DirectoryNotFoundException、PathTooLongException、EndOfStreamException
IO枚举类型 FileAccess、FileAttributes、FileOptions、FileShare、FileMode、SearchOption、SeekOrigin、DriveType
 
  1. OpenFileDialog对话框
功能:弹出打开文件对话框
主要属性:
InitialDirectory:对话框的初始目录
Filter: 获取或设置当前文件名筛选器字符串
FileName:第一个在对话框中显示的文件或最后一个选取的文件
Title:对话框标题
7-1
        新建windows窗体应用程序,添加一个“打开”按钮和一个文本框,当点击“打开”按钮后,弹出文件打开对话框,文件目录定位到C盘根目录,文件类型筛选为“.txt”文件,当选择一个文件后,将文件目录及文件名显示到文本框。程序运行效果如图7-7所示:
图7-7  运行效果图
新建windows窗体应用程序,添加控件并设置属性如表7-2所示:
表7-2  控件及属性设置表
控件 属性
Button Text 打开
Button Name btnFileOpen
TextBox Name txtFileName
 
编写btnFileOpen的click事件代码如下:
private void btnFileOpen_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.InitialDirectory = "c:\\";
            openFileDialog.Filter = "TXT文件|*.txt";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                string fName = openFileDialog.FileName;
                txtFileName.AppendText(fName);
            }
        }
  1. 字符流的读取
StreamReader类: 以字符为单位的数据读取操作
主要方法:
StreamReader(Stream stream): 以一个文件流作参数创建StreamReader实例对象
StreamReader(string  path):以一个文件作参数创建StreamReader实例对象
例:StreamReader sr = new StreamReader(“c:\\1.txt”);
   ReadLine():从StreamReader实例对象中读取一行。
Read():从StreamReader实例对象中读取一个字符。
ReadToEnd():从StreamReader实例对象中读取所有内容。
Close( ):关闭文件流。
7-2
        新建windows窗体应用程序,添加一个“打开”按钮和一个文本框,当点击“打开”按钮后,弹出文件打开对话框,文件目录定位到C盘根目录,文件类型筛选为“.txt”文件,当选择一个文件后,将文件内容显示到文本框。程序运行效果如图7-8所示:
图7-8  运行效果图
新建windows窗体应用程序,添加控件并设置属性如表7-3所示:
表7-3  控件及属性设置表
控件 属性
Button Text 打开
Button Name btnFileOpen
TextBox Name txtContent
TextBox Multiline true
 
编写btnFileOpen的click事件代码如下:
  private void btnFileOpen_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.InitialDirectory = "c:\\";
            openFileDialog.Filter = "TXT文件|*.txt";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    string openFileName = openFileDialog.FileName;
                    StreamReader sr = new StreamReader(openFileName);
                    txtContent.Text = sr.ReadToEnd();
                    sr.Close();
                }
                catch (Exception)
                {
                }   
            }
        }

任务实现

  1. 窗体界面实现
新建windows窗体应用程序,添加控件并设置属性如表7-4所示:
表7-4  控件及属性设置表
控件 属性
Form Text 记事本
Form Size 600,500
Form AutoSize true
Form StartPosion CenterScreen
TextBox Name txtContent
TextBox Multiline true
 
        添加菜单控件Menustrip1并按要求设计主菜单及二级菜单内容,添加对话框控件fontDialog1、openFileDialog1、saveFileDialog1。
  1.  “打开”菜单功能实现
“打开”菜单click事件代码编写如下:
  private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "TXT文件|*.txt";
            openFileDialog1.FileName = "";
            openFileDialog1.ShowDialog();
            if (openFileDialog1.FileName != null)
            {
                try
                {
                string openFileName = openFileDialog1.FileName;
                StreamReader sr = new StreamReader(openFileName);
                textContent.Text = sr.ReadToEnd();
                sr.Close();
                }
                catch (Exception)
                {
                }
            }
        }

任务小结

  1. 命名空间System.IO支持C#的文件操作。
  2. 文件流包括字符流、字节流、二进制流。
  3. 文件操作需要进行异常处理。
  4. 文件流使用完后需要关闭。


上一篇:C#应用实训|项目七 简易记事本

下一篇:C#应用实训|任务1 文件读取实现