C#中的文件操作及文件的读写

一、文件的操作

Directory类和File类必须有using System.IO引用。

1、创建文件

 //CreateDirectory方法用于创建目录,注意路径的写法
            DirectoryInfo info = Directory.CreateDirectory(@"c:\资料\学习视频\20130917");

info.FullName的方法可以得到info的全名即新建文件目录。

2、删除文件

//使用delete方法用于删除此目录,如果目录下有文件,需要为delte方法指定参数为true
            //info.Delete(false);

3、复制文件夹中的文件

            //copy方法用于复制文件,两个参数:一个用来指定源文件的路径,包括文件名称和后缀名,
一个是目标文件地址,包括目标路径以及目标文件的名称,包括后缀名
    File.Copy(@"E:\CSDN\2012行课\20130916函数\上午1字典唐诗三百首.wmv", info.FullName+"\\上午1字典唐诗三百首.wmv");

4、移动文件夹中的文件

 //如果报异常为:未将对象引用设置到对象的实例,就要检查是否代码中某个对象为Null
  File.Move(@"E:\CSDN\2012行课\20130916函数\上午2学生登记系统字典应用.wmv", info.FullName + "\\上午2学生登记系统字典应用.wmv");

5、删除文件夹中的文件

 //删除文件前,要确保此文件没有被其他应用程序使用,如视频文件,在删除前不能被播放器播放,哪怕播放器已经关闭,
如果还是不能删除(一般会报异常:此文件正在被另一个进程使用),就要到任务管理器中找到此播放器的进程,将其关闭
            File.Delete(info.FullName + @"\上午1字典唐诗三百首.wmv");

6、删除文件夹(只能删除最后一个文件夹)

 info.Delete(true);
Directory.Delete(@"c:\资料",true);

Directory.Delete方法能够删除一个文件夹中的所有子文件夹
Directory.DeleteDirectory.DeleteDirectory.Delete二、文件的读写

1、创建一个文件

 File.Create(@"C:\资料\学习视频\20130917\studentinfo.txt");

2、向文件中输入内容

 //使用write方法会将上次写入的内容替换掉
   File.WriteAllText(@"C:\资料\学习视频\20130917\studentinfo.txt",this.textBox1.Text);
 //AppendAllText用于向文件中追加内容,不会将原来内容替换掉
   File.AppendAllText(@"C:\资料\学习视频\20130917\studentinfo.txt", this.textBox1.Text);

3、读出文件中的内容

 string content= File.ReadAllText(@"C:\资料\学习视频\20130917\studentinfo.txt");
            MessageBox.Show(content);

三、通过流对文件进行输入和读出的操作

1、向文件中输入内容

#region MyRegion
            //使用open方法打开一个文本文件,第一个参数是文本文件的路径,
第二个参数指明打开模式,OpenOrCreate模式表示如果文件存在就打开,如果不存在就在指定目录下创建指定名称的文件;
第三个参数指明打开文件后要对文件进行的操作,度,写或者既读且写
     FileStream filestream= File.Open(@"C:\资料\学习视频\20130917\studentinfo.txt", FileMode.OpenOrCreate, FileAccess.Write);
file.open的返回类型是FileStream类型
        /*假设现在想使用filestream的write方法写入“锄禾日当午,汗滴禾下土”这两句,就需要将这两句转换成byte数组,因为我们看到filestream的write只能接受byte类型数组,这对我们开发者来说是额外的工作,是重复劳动,所以微软专门除了StreamWriter(StreamReader)类用来简化我们的工作,只需要在实例化StreamWriter类的时候,将filestream作为其构造函数的参数就可以了。然后调用StreamWriter对象的write或者writeLine方法进行文件的写入,我们猜测StreamWriter的内部将字符串转换成了byte数组,最后还是调用filestream的write方法进行文件的写入*/
            
            
            StreamWriter writer = new StreamWriter(filestream);
            writer.WriteLine(this.textBox1.Text);
            
            #region 关闭文件流,释放资源,否则其他进程无法对此文件进行操作
            writer.Close();
            writer.Dispose();
            filestream.Close();
            filestream.Dispose();
            #endregion
            
            #endregion

2、读取文件中的内容

根据1可得读取和输入结构差不多。

 FileStream filestream= File.Open(@"C:\资料\学习视频\20130917\studentinfo.txt", FileMode.OpenOrCreate, FileAccess.Read);
            StreamReader reader = new StreamReader(filestream);
            string result= reader.ReadLine();
            reader.Close();
            reader.Dispose();
            filestream.Close();
            filestream.Dispose();

四、优化代码

每一次都要关闭和释放资源,有时候会遗忘。所以可以使用using方法,它可以自动关闭和释放(数据库的连接也会用到)

 using (FileStream filestream = File.Open(@"C:\资料\学习视频\20130917\studentinfo.txt", FileMode.OpenOrCreate, FileAccess.Write))
            {
                using (StreamWriter writer = new StreamWriter(filestream,Encoding.Default))
                {                    
                    writer.WriteLine(this.textBox1.Text);
                }
            }


 


 


 






 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿猿网页设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值