【C#】文件管理(file类)和目录管理(Directory类)

举报
Laura_张 发表于 2022/08/26 23:12:08 2022/08/26
【摘要】 文章目录 文件管理file文件的各种操作创建文件删除文件判存Exists获取日期和时间移动文件复制文件 简单的文件读写读文件写文件 目录管理(Directory类)...


文件管理

file文件的各种操作

在这里插入图片描述

创建文件

            File.Create(path);//这个是在指定路径下创建一个文件,如果文件存在则覆盖该文件
            File.CreateText(path);

  
 
  • 1
  • 2

删除文件

            File.Delete(path);//删除指定路径下的文件,直接删了,回收站没有,如果这个路径下没有这个文件不报异常
            bool flag=File.Exists(path);

  
 
  • 1
  • 2

判存Exists

           判断这个路径下有没有这个文件,有就删除,没有就创建一个
            if (File.Exists(path))
           {
                File.Delete(path);
            }
            else
            {
                File.Create(path);
            }
            Console.WriteLine(flag);


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

获取日期和时间

            //获取当前的时间和日期
            DateTime dt = new DateTime();

            Console.WriteLine(DateTime.Now.Year);

            DateTime dt = File.GetCreationTime(path);//获取创建的时间

            DateTime dt = File.GetLastWriteTime(path);//获取最后修改的时间
            Console.WriteLine(dt);

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

移动文件

           //移动文件
            string path = @" ";
            string path1 = @" ";
            File.Move(path, path1);//把文件移动到指定的路径下,可以改名,如果那个路径下有这个文件,会报异常

  
 
  • 1
  • 2
  • 3
  • 4

复制文件

    //复制文件
            //复制文件的时候如果另一个路径中有这个文件了,名字相同,会报异常,可以利用这个方法的重载,在第三个参数的位置写上true,就可以覆盖那个重名的文件了
           File.Copy(path, path1,true);//这个方法是把这个文件复制到另一个路径下,复制的同时也可以改名

  
 
  • 1
  • 2
  • 3

简单的文件读写

在这里插入图片描述

读文件

 //读文件
            string path = @" ";

            string[] text = File.ReadAllLines(path, Encoding.Default);
            Dictionary<string, string> myDic = new Dictionary<string, string>();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
 File.ReadAllLines(path,Encoding.Default );//读这个文件中的内容

  
 
  • 1

写文件

 //写文件
            string[] name = new string[] { "老牛", "凤姐", "老岁", "奥玛" };
            File.WriteAllLine(path, names);

            File.WriteLineText(path, "哈哈,小杨又变帅了", Encoding.UTF8);

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
 File.WriteAllLines(path, new string[] { "laosu", "fengjie" });//写入一些内容

  
 
  • 1

目录管理(Directory类)

基本操作

创建

 string path = @"E:\C#项目\3Day\3-5";
Directory.CreateDirectory(path);//在指定路径下创建一个文件夹,如果文件夹内有东西再创建不报异常

  
 
  • 1
  • 2

删除

string path = @"E:\C#项目\3Day\3-5";
Directory.Delete(path);//删除这个路径下的文件夹,文件夹中有内容就会报异常
Directory.Delete(path, true);//这个方法是删除指定路径下的文件夹,如果文件夹中有东西,可以采用第二个重载,不会报异常。

  
 
  • 1
  • 2
  • 3

判存

string path = @"E:\C#项目\3Day\3-5";
bool result = Directory.Exists(path);//判断这个路径下是否有文件夹
Console.WriteLine(result);

  
 
  • 1
  • 2
  • 3

获取目录

string ps = Directory.GetCurrentDirectory();//获取当前程序所在的目录
Console.WriteLine(ps);

  
 
  • 1
  • 2

获取目录的全路径

string path = @"E:\C#项目\3Day\3-5";
string[] dire = Directory.GetDirectories (path);//获取指定路径下所有文件夹的全路径
for(int i=0;i<dire.Length;i++)
 {
    Console.WriteLine(dire[i]);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

获取全部文件的全路径

string path = @"E:\C#项目\3Day\3-5";
string[] file = Directory.GetFiles(path);//获取这个文件夹下面所有文件的全路径
for (int i = 0; i < file.Length; i++)
{
    Console.WriteLine(file[i]);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

文件流(FileStream类)

Steam(所有流的父类,是一个抽象类)
文件操作的类都在System.IO中

FileStream fs=File.Open();
//返回filestream

  
 
  • 1
  • 2
FileStream fs=File.OpeRead();
//返回只读的FileStream

  
 
  • 1
  • 2
FileStream fs=File.OpenWrite();
//返回只写的FileStream

  
 
  • 1
  • 2
FileStream fs=new FileStream(参数);

  
 
  • 1

在这里插入图片描述

#region FileStream类
            //打开文件,读取文件内容,并关闭文件
            string path = @"";
            using (FileStream fs=new FileStream (path,FileMode.Open,FileAccess.Read ,FileShare.Read ))
            {
                using(StreamReader sr = new StreamReader(fs,Encoding.Default))
                {
                    while(!sr.EndOfStream )
                    {
                        Console.WriteLine(sr.ReadLine ());
                    }
                }
            }
            //写文件
            using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Write, FileShare.Write))
            {

                using (StreamWriter sw = new StreamWriter(fs, Encoding.Default))
                {
                    sw.Write("哈哈");
                }
            }
            Console.ReadKey();
#endregion

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

感谢阅读,欢迎斧正~

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/111056660

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。