zoukankan      html  css  js  c++  java
  • C#对文件的操作

    一、实验目的:

    1. 熟悉.NET框架下路径及文件信息的获取方法。

    2. 熟悉文本文件、二进制流式文件的读取和保存方法。

    二、实验内容及要求:

    1、实现选择一个路径,并显示该路径下的所有目录及文件。

    2、编程实现显示选中文件的属性信息(大小、最后访问时间、最后修改时间等信息)

     

    3、创建应用程序,实现在窗体关闭后,下次打开时能自动保存窗体的大小和位置(用文本文件保存)。

    4、继续完善数据库操作类,实现:将数据库连接信息(服务器IP地址、数据库名)用文本文件配置,在数据库操作类中提供方法从配置文件中读入服务器IP地址、数据库名,实现连接字符串的动态生成。

    5、编程实现,将教师信息:教师号(Int16),教师名(string),性别(bool),基本工资(double),写入二进制文件保存。同时实现从二进制文件中读出写入内容。

    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 CJ11103060203
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                listBox1.Items.Clear();
                string curDir = "";
                string subDir = "";
                string curFile = "";
                try
                {
                    FolderBrowserDialog fbd = new FolderBrowserDialog();
                    if (fbd.ShowDialog() == DialogResult.OK)
                    {
                        curDir = fbd.SelectedPath;
                        string[] surDirs = Directory.GetDirectories(curDir);
                        string[] Files = Directory.GetFiles(curDir);
                        for (int i = 0; i < subDir.Length; i++)
                        {
                            subDir = surDirs[i];
                            subDir = subDir.Substring(subDir.LastIndexOf("\") + 1);
                            listBox1.Items.Add(subDir);
                        }
                        for (int k = 0; k < Files.Length; k++)
                        {
                            curFile = Files[k];
                            curFile = curFile.Substring(curFile.LastIndexOf("\") + 1);
                            listBox2.Items.Add(curFile);
                        }
                    }
                }
                finally
                {      }
    
    
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                OpenFileDialog ofd = new OpenFileDialog();
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    FileInfo file = new FileInfo(ofd.FileName);
    
                    MessageBox.Show("文件名: " + file.Name + "
    " +
                        "大小: " + file.Length.ToString() + "
    " +
                        "最后的访问时间: " + file.LastAccessTime.ToString() + "
    "
                        + "最后的修改时间: " + file.LastWriteTime.ToString() + "
    " + "所在目录: " + file.DirectoryName);
    
                }
            }
        }
    
    }
    后台对文件的操作

    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 _2CJ11103060203
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_FormClosed(object sender, FormClosedEventArgs e)
            {
                int x, y, w, h;
                x = this.Left;
                y = this.Top;
                w = this.Width;
                h = this.Height;
                StreamWriter sw = File.CreateText(Application.StartupPath + "\config.txt");
                sw.WriteLine("x=" + x.ToString());
                sw.WriteLine("y=" + y.ToString());
                sw.WriteLine("w=" + w.ToString());
                sw.WriteLine("h=" + h.ToString());
                sw.Flush();
                sw.Close();
                sw.Dispose();
    
    
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                int x, y, w, h;
                string ss = "";
                StreamReader sr = File.OpenText(Application.StartupPath + "\config.txt");
                ss = sr.ReadLine();
                x = Convert.ToInt16(ss.Substring(2));
                ss = sr.ReadLine();
                y = Convert.ToInt16(ss.Substring(2));
                ss = sr.ReadLine();
                w = Convert.ToInt16(ss.Substring(2));
                ss = sr.ReadLine();
                h = Convert.ToInt16(ss.Substring(2));
                ss = sr.ReadLine();
                this.Left = x;
                this.Top = y;
                this.Width = w;
                this.Height = h;
                sr.Close();
                sr.Dispose();
    
    
    
            }
        }
    }

    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 _3CJ11103060203
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            struct teacher
            {
                public Int16 jsh;
                public string jsm;
                public bool xb;
                public double gz;
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                teacher t;
                t.jsh = Convert.ToInt16(textBox1.Text);
                t.jsm = textBox2.Text;
                if (radioButton1.Checked)
                    t.xb = true;
                else
                    t.xb = false;
                t.gz = Convert.ToDouble(textBox3.Text);
                SaveFileDialog sf = new SaveFileDialog();
                if (sf.ShowDialog() == DialogResult.OK)
                {
                    FileStream fs = new FileStream(sf.FileName, FileMode.Create);
                    BinaryWriter bw = new BinaryWriter(fs);
                    bw.Write((Int16)t.jsh);
                    bw.Write((string)t.jsm);
                    bw.Write((bool)t.xb);
                    bw.Write((double)t.gz);
                    bw.Flush();
                    fs.Close();
                }
    
    
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                teacher t;
                OpenFileDialog od = new OpenFileDialog();
                if (od.ShowDialog() == DialogResult.OK)
                {
                    FileStream fs = new FileStream(od.FileName, FileMode.Open);
                    BinaryReader br = new BinaryReader(fs);
                    t.jsh = br.ReadInt16();
                    t.jsm = br.ReadString();
                    t.xb = br.ReadBoolean();
                    t.gz = br.ReadDouble();
                    textBox1.Text = t.jsh.ToString();
                    textBox2.Text = t.jsm;
                    if (t.xb)
    
                        radioButton1.Checked = true;
    
                    else
                        radioButton2.Checked = true;
    
    
                    textBox3.Text = t.gz.ToString();
                    fs.Close();
                }
            }
        }
    }
    View Code
  • 相关阅读:
    log4j2配置ThresholdFilter,让info文件记录error日志
    Thrift常见异常及原因分析(<i>UPDATING...</i>)
    fastjson序列化出现StackOverflowError
    mysql执行update语句受影响行数是0
    远程Gitlab新建的分支在IDEA里不显示
    rabbitmq延迟队列demo
    利用延迟消息队列取代定时任务
    利用spring实现服务启动就自动执行某些操作的2种方式
    从Joda-Time反观Java语言利弊
    Linux Shell test判断
  • 原文地址:https://www.cnblogs.com/bolanbujing/p/4349472.html
Copyright © 2011-2022 走看看