您的当前位置:首页实验六文件操作实验

实验六文件操作实验

2022-07-26 来源:小侦探旅游网
大理学院课程教案(教学内容)

目的和要求:

理解文件的概念;掌握文件读和写的使用;掌握文件处理的方法。 实验方法(包括实验中需要注意的问题等): 1. 在VS下,新建一个窗体界面应用程序。 2. 在解决方案资源管理其中创建一个Student类。

3. 通过button1、button2按钮实现Student文件的读写操作,通过button3、button4按钮实现文件的浏览操作。 实验重点(主要解决的问题和达到的目的):

1. 学会编写文件的读写操作代码。 2. 理解文件的基本操作。

实验难点(预计实验过程中会遇到的问题和解决方案): 1.编写文件的读写操作代码。

实验仪器和材料:

计算机,Windows XP, VS2008

实验报告要求和思考题: 提交实验报告。

大理学院课程教案(教学内容)

实验六 文件读写操作

一、实验内容与步骤(要求交实验报告的实验项目详细步骤由学生填写)

实验内容:

1.按要求调试下列程序:

构造如下所示界面,完成学生信息的IO操作。学生信息存储在D盘根目录Student.txt文件中。信息显示使用RichTextBox控件。

实现各操作的参考代码如下:

using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

using System.Windows.Forms; using System.IO;

namespace 读写文件 {

大理学院课程教案(教学内容)

public partial class Form1 : Form {

List stList; Student st;

string[] splitStrings; string[] splitStrings1; string[] splitStrings2; char[] separator = {' '}; char[] separator1 = { '=' }; int i = 0; public Form1() {

InitializeComponent();

stList = new List(); splitStrings = new string[100]; splitStrings1 = new string[100]; splitStrings2 = new string[100]; }

private void button1_Click(object sender, EventArgs e) {

if (textBox1.Text == \"\" ) {

MessageBox.Show(\"学号不能为空!\"); }

else if (textBox2.Text == \"\") {

MessageBox.Show(\"姓名不能为空!\"); }

else if (textBox3.Text == \"\") {

MessageBox.Show(\"班级不能为空!\"); }

else if (textBox4.Text == \"\") {

MessageBox.Show(\"专业不能为空!\"); } else {

FileStream fs = new FileStream(\"d://student.txt\", FileMode.OpenOrCreate | FileMode.Append, FileAccess.Write);

StreamWriter streamWriter = new StreamWriter(fs);

streamWriter.WriteLine(\"学号=\" + textBox1.Text + \" \" + \"姓名=\" + textBox2.Text + \" \" + \"班级=\" + textBox3.Text + \" \" + \"专业=\" + textBox4.Text); textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox4.Clear(); streamWriter.Flush(); streamWriter.Close(); }

}

private void button2_Click(object sender, EventArgs e) {

FileStream fs = new FileStream(\"d://student.txt\", FileMode.Open, FileAccess.Read);

大理学院课程教案(教学内容)

StreamReader streamReader = new StreamReader(fs); this.richTextBox1.Text = \"\";

string strLine = streamReader.ReadLine(); while (strLine != null) {

this.richTextBox1.Text += strLine + \"\\n\"; st = new Student();

splitStrings = strLine.Split(separator);//以空格分隔符拆分字符串 for (int i = 0; i < splitStrings.Length;i++ ) {

splitStrings1 = splitStrings[i].Split(separator1);//以=号分隔符拆分字符串 splitStrings2[i] = splitStrings1[1]; }

st.xh = splitStrings2[0]; st.xm = splitStrings2[1]; st.bj = splitStrings2[2]; st.zy = splitStrings2[3];

stList.Add(st);//还原学生对象并存储在list表里 strLine = streamReader.ReadLine(); }

streamReader.Close();

textBox8.Text = stList[0].xh; textBox7.Text = stList[0].xm; textBox6.Text = stList[0].bj; textBox5.Text = stList[0].zy; }

private void button3_Click(object sender, EventArgs e) {

if((stList.ToArray()).Length<=0) {

MessageBox.Show(\"当前记录为0条\"); }

if (i == 0&&(stList.ToArray().Length>0)) {

textBox8.Text = stList[0].xh; textBox7.Text = stList[0].xm; textBox6.Text = stList[0].bj; textBox5.Text = stList[0].zy; }

if ((i > 0) && (i < stList.ToArray().Length)) {

i = i - 1;

textBox8.Text = stList[i].xh; textBox7.Text = stList[i].xm; textBox6.Text = stList[i].bj; textBox5.Text = stList[i].zy; } }

private void button4_Click(object sender, EventArgs e) {

if ((stList.ToArray()).Length <= 0) {

MessageBox.Show(\"当前记录为0条\"); }

if (i == (stList.ToArray()).Length&&i!=0) {

大理学院课程教案(教学内容)

textBox8.Text = stList[i].xh; textBox7.Text = stList[i].xm; textBox6.Text = stList[i].bj; textBox5.Text = stList[i].zy; }

if (i >= 0 && i < (stList.ToArray()).Length-1) {

i = i + 1;

textBox8.Text = stList[i].xh; textBox7.Text = stList[i].xm; textBox6.Text = stList[i].bj; textBox5.Text = stList[i].zy; } } } }

学生类定义如下:

using System;

using System.Collections.Generic; using System.Linq; using System.Text;

namespace 读写文件 {

public class Student {

public string xh; public string xm; public string bj;

public string zy;//同学把这些变量改为属性定义 } }

大理学院课程教案(教学总结)

因篇幅问题不能全部显示,请点此查看更多更全内容