c#--文件及文件夹相关操作

1.判断存在

判断文件存在:

if (!Directory.Exists(projectPath)) return;

判断文件夹存在:

if (!Directory.Exists(projectPath)) return;

判断文件扩展名

 string filesuffix = System.IO.Path.GetExtension(path);
 if (string.IsNullOrEmpty(filesuffix))
        return;
 if(filesuffix==".xls"|| filesuffix == ".xlsx")
 {
     tabControl1.SelectedTab = tp_dataShow;
 }

2.打开

打开指定路径对应文件夹

  if (!Directory.Exists(projectPath)) return;
                System.Diagnostics.Process.Start("explorer.exe", projectPath);

读取指定路径下所有文件:

DirectoryInfo root = new DirectoryInfo(path);
root.GetFiles()

打开文件:

var path=@"C:\Users\Dell\Desktop\2020.txt"
System.Diagnostics.Process.Start(path);

3.创建

创建文件夹

(路径中没有的文件夹一起创建)

Directory.CreateDirectory(Path.Combine(dir, DefaultConfigManager.RFileDir));

4.写入文件

FileStream 写入文件

ps:没有文件的话默认会创建,每次写入会覆盖之前的内容,如果要换行是用"\r\n",用"\n"没用

private static void WriteFile(string filePath,string info)
{
     using (FileStream fs = new FileStream(filePath, FileMode.Append, FileAccess.Write))
     {
         //获得字节数组
         byte[] data = System.Text.Encoding.Default.GetBytes(info);
         //开始写入
         fs.Write(data, 0, data.Length);
         //清空缓冲区、关闭流
         fs.Flush();
     }
 }

如果不是覆盖文件 ,而是追加内容,在fs.Write前添加:

//设定书写的开始位置为文件的末尾 
fs.Position = fs.Length;

StreamReader/StreamWriter与FileStream的区别

网上操作文件还有很多的方式,除了FileStream,主要有StreamReader和StreamWriter,他们默认的编码方式都是UTF8。
区别如下:

  • StreamReader、StreamWriter操作的是字符数据(char),常用于文本的打开与保存,而FileStream操作的是字节数据(byte),常用于数据的传输。
  • FileStream只能简单的读取文件,StreamReader、StreamWriter有按行读取等封装方法。
  • FileStream支持异步读写操作。还能指定FileMode、FileAccess、FileShare、FileOptions等各种文件访问控制权限、共享权限等,有很强的文件读写的灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Yyuanyuxin

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

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

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

打赏作者

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

抵扣说明:

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

余额充值