C# 操作文件相关知识点

19 篇文章 0 订阅
5 篇文章 0 订阅

有时候在C#的一些项目中会出现这样或那样的操作文件的需求,正好最近有些时间就整理出来供大家在项目中遇到同样问题的时候可以参考。如果有什么不正确的地方大家可以留言提醒……直接代码

  • SaveFileDialog
  • OpenFileDialog
  • 轻松获取路径中文件名、目录、扩展名等

SaveFileDialog() 保存对话框

private void SaveFileDialog()
{
//string localFilePath, fileNameExt, newFileName, FilePath;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
//设置文件类型
saveFileDialog1.Filter = ” txt files(.txt)|.txt|All files(.)|.“;
//设置默认文件类型显示顺序
saveFileDialog1.FilterIndex = 2;
//保存对话框是否记忆上次打开的目录
saveFileDialog1.RestoreDirectory = true;
//点了保存按钮进入
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//获得文件路径
//localFilePath = saveFileDialog1.FileName.ToString();
//获取文件名,不带路径
//fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf(“\”) + 1);
//获取文件路径,不带文件名
//FilePath = localFilePath.Substring(0, localFilePath.LastIndexOf(“\”));
//给文件名前加上时间
//newFileName = DateTime.Now.ToString(“yyyyMMdd”) + fileNameExt;
//在文件名里加字符
}
}


OpenFileDialog () 创建对话框
private void btnUpload_Click(object sender, EventArgs e)
{
//创建一个对话框对象
OpenFileDialog ofd = new OpenFileDialog();
//为对话框设置标题
ofd.Title = “请选择上传的图片”;
//设置筛选的图片格式
ofd.Filter = “图片格式|*.jpg”;
//设置是否允许多选
ofd.Multiselect = false;
//如果你点了“确定”按钮
if (ofd.ShowDialog()== System.Windows.Forms.DialogResult.OK)
{
//获得文件的完整路径(包括名字后后缀)
string filePath = ofd.FileName;
//将文件路径显示在文本框中
txtImgUrl.Text = filePath;
//找到文件名比如“1.jpg”前面的那个“\”的位置
int position = filePath.LastIndexOf(“\”);
//从完整路径中截取出来文件名“1.jpg”
string fileName = filePath.Substring(position+1);
//读取选择的文件,返回一个流
using (Stream stream = ofd.OpenFile())
{
//创建一个流,用来写入得到的文件流(注意:创建一个名为“Images”的文件夹,如果是用相对路径,必须在这个程序的Degug目录下创建
//如果是绝对路径,放在那里都行,我用的是相对路径)
using (FileStream fs = new FileStream(@”./Images/” + fileName, FileMode.CreateNew))
{
//将得到的文件流复制到写入流中
stream.CopyTo(fs);
//将写入流中的数据写入到文件中
fs.Flush();
}
//PictrueBOx 显示该图片,此时这个图片已经被复制了一份在Images文件夹下,就相当于上传
//至于上传到别的地方你再更改路径
pbShow.ImageLocation = @”./Images/” + fileName;
}
}
}


获取相应的文件信息
System.IO.Path对包含文件或目录径信息的String实例执行操作。
1、ChangeExtension:更改路径字符串的扩展名
2、Combine(String[]):将字符串数组组合成一个路径
3、Combine(String,String):将两个字符串组合成一个路径
4、Combine(String,String,String):将三个字符串组合成一个路径,四个参数就是将四个字符串组合成一个路径。
5、GetDirectoryName:返回指定字符串的目录信息。
6、GetExtension:获取指定字符串的目录信息。
7、GetFileNameWithoutExtension:返回不具有扩展名的指定路径字符串的文件名。
8、GetFullPath:返回指定路径字符串的绝对路径
9、GetPathRoot:获取指定路径的根目录信息。
10、GetRandomFileName:获取随机文件名或文件夹名

string path = “C:\dir1\dir2\foo.txt”;
string str = “GetFullPath:” + Path.GetFullPath(path) + “\r\n”;
str += “GetDirectoryName:” + Path.GetDirectoryName(path) + “\r\n”;
str += “GetFileName:” + Path.GetFileName(path) + “\r\n”;
str += “GetFileNameWithoutExtension:” + Path.GetFileNameWithoutExtension(path) + “\r\n”;
str += “GetExtension:” + Path.GetExtension(path) + “\r\n”;
str += “GetPathRoot:” + Path.GetPathRoot(path) + “\r\n”;
MessageBox.Show(str);

结果:
GetFullPath:C:\dir1\dir2\foo.txt
GetDirectoryName:C:\dir1\dir2
GetFileName:foo.txt
GetFileNameWithoutExtension:foo
GetExtension:.txt
GetPathRoot:C:\

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值