C#菜鸟之旅-----C#文件管理(File类)

今天就来学习一下C#和文件之间的联系,如果用C#的语句对我们的文件进行相应的操作?

文件管理(file类)

基本操作 判存 复制 移动 删除 创建
基本方法: File.Exist(); File.Copy(); File.Move File.Delete() file.create()
 

Bool flag=file.exists(path)  //判断这个路径下有没有这个文件 ,返回逻辑值

有 就删除,没有就创建一个

File.copy(path,新path)

如果那么路径有这个文件,这个时候就会出现异常;

但是如果我们在第三个参数的位置上写上true 那么就可以被覆盖

不会报错

File.copy(path,新path,true)

File.move(path,新path)  可以改名,在新path中改名;

删除指定路径下的文件,回收站没了,如果这个路径下没有这个文件,不报异常

File.delete(path)

string str=@"D:\1.提高班\computer\CS学习\c#视频\20121106C#基础\视频\book.txt";

 

            File.Create(str);

            //这个方法是在制定路径下创建一个文件,如果文件存在则覆盖该文件

 

注: 在我们编程的过程中File类是不可以直接使用的,需要先导入命名空间

Using System.IO 

扩展方法: 

返回创建该文件的日期: 

Datetime dt=file.getcreationtime(path);

返回上次修改该文件的日期时间: 

Datetime dt=File.GetLastAccessTime(path);

关于文件的读写: 

由于File类是一个静态类,所以它里面的方法一般都是静态方法

读文件:
String path=@“地址”
String [] str=file.readlines(path,encoding.default)
//按行读取文章的内容

String [] str=file.readalltext(text,encoding.default)
// 读取地址中文件的内容;

String []names=new string[]{"","",""}
写文件:

          string path = @"D:\1.提高班\computer\CS学习\c#视频\20121106C#基础\视频\book.txt";

方法一:
            string[] name = new string[] { "老牛", "凤姐", "小月月" };
            File.WriteAllLines(path, name);
            
   //文件已存在,这个时候就会将旧文件的内容覆盖
            File.WriteAllText(path, "haha ", Encoding.UTF8);
            Console.WriteLine("啊哈哈");
            Console.ReadKey();

如果我们不希望内容被覆盖,那么我们就可以这样使用: 

  
 string path = @"D:\1.提高班\computer\CS学习\c#视频\20121106C#基础\视频\book.txt";
 
 File.AppendAllText(path, "哈哈 ,小富又帅了");
           
 //在文件中追加文字,而不是将文件覆盖;



 File.AppendAllLines(path, name);//在文件中继续按行追加不会覆盖
 string path = @"D:\1.提高班\computer\CS学习\c#视频\20121106C#基础\视频\book.txt";
 string[] name = new string[] { "老牛", "凤姐", "小月月" };
 File.AppendAllLines(path, name);
            //在文件中追加文字,而不是将文件覆盖;

FileStream 文件流:

通过File类的方法快速得到文件流:

   FileStream fs=File.Open(); //返回filestream
   FileStream fs=File.OpendRead();//返回只读的FileStream;
   FileStream fs=File.OpendWrite();//返回只写的FileStream;
   

 

例子:

   


            string path = @"D:\1.提高班\computer\CS学习\c#视频\20121108C#基础\视频\1";
            
           
            FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
            //使用指定的路径,创建模式,读、写权限和共享权限创建FileStream类的新实例

            fs.Flush();//清楚此流的缓冲区
            fs.Dispose();//释放资源
            fs.Close();//关闭当前流并释放之前与之有关系的所有资源

目录管理(Directory类)

基本操作: 创建,移动,删除等功能

同样在使用之前需要导入命名空间 Using System.IO

Directory 常用方法:

Move()     Delete()     Exist()

 

目录管理的常用方法:

            
            string path = @"D:\1.提高班\computer\CS学习\c#视频\20121108C#基础\视频\1";

           1. Directory.CreateDirectory(path);
            //在指定的路径下创建一个文件夹,如果文件夹内有东西在创建不报异常

           2. Directory.Delete(path);
            //如果文件夹中有东西是不能删除的;

           3. Directory.Delete(path, true);
            //这个方法是删除制定路径下的文件夹,如果文件夹内有东西,可以使用
            //第二个重载,就不会报异常,会把文件夹连带文件夹内的文件全部删除


           4. bool result=Directory.Exists(path);
            //判断这个路径下有没有这个文件夹

            Console.WriteLine(result);  //返回 true  表示文件夹存在
            Console.ReadKey ();
            
            5.string ps=Directory.GetCurrentDirectory();
            //获取当前程序所在的目录

            6.string[] dire = Directory.GetDirectories(path);
            //获取指定路径下的所有文件夹的全路径
小例子:

            for (int i = 0; i < dire.Length; i++)
            {
                Console.WriteLine(dire[i]);

            }
            string[] file=Directory.GetFiles(path);//获取这个文件夹下面的所有文件的全路径

            for (int i = 0; i < file.Length; i++)
            {
                Console.WriteLine(file[i]);

            }

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_30631063/article/details/85794424