C#_文件的打开与保存——实质是拿到文件路径

C#_文件的打开与保存——实质是拿到文件路径

前言:此应用场景是点击一个按钮让用户选择需要打开的文件或是需要保存的文件路径
1、打开文件
2、保存文件

打开文件(file.FileName为选择的文件路径)

private void bt_mac_import_Click(object sender, EventArgs e)
{
    //新建一个文件对话框
    OpenFileDialog pOpenFileDialog = new OpenFileDialog();

    //设置对话框标题
    pOpenFileDialog.Title = "导入MAC地址";

    //设置打开文件类型
    pOpenFileDialog.Filter = "(*.xlsx)|*.xlsx";

    //监测文件是否存在
    pOpenFileDialog.CheckFileExists = true;

    //文件打开后执行以下程序
    if (pOpenFileDialog.ShowDialog() == DialogResult.OK)
    {
        if (IsFileInUse(pOpenFileDialog.FileName) == false)//true表示正在使用,false没有使用 
        {
            Console.WriteLine(pOpenFileDialog.FileName);
        }
        else
        {
            MessageBox.Show("文件被占用!", "警告");
        }
    }
}

private static bool IsFileInUse(string fileName)  //判断文件是否正在使用
{
    bool inUse = true;
    FileStream fs = null;
    try
    {
        fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);
        inUse = false;
    }
    catch
    {
    }
    finally
    {
        if (fs != null)
            fs.Close();
    }
    return inUse; //true表示正在使用,false没有使用  
}

保存文件(file.FileName为选择的文件路径)

private void button3_Click(object sender, EventArgs e)  //按钮点击事件
{
    SaveFileDialog file = new SaveFileDialog();
    file.Filter = "txt文件(*.txt)|*.txt";//设置文件后缀的过滤

    if (file.ShowDialog() == DialogResult.OK)//如果有文件保存路径
    {
        File.WriteAllText(file.FileName, log_richTextBox.Text);
    }
}

补充内容保存文件时默认就存在一个文件名字

//补充一下,实现在保存文件时默认就存在一个文件名字,这样可以解决懒人的要求
private void button3_Click(object sender, EventArgs e)  //按钮点击事件
{
    SaveFileDialog file = new SaveFileDialog();
    file.Filter = "txt文件(*.txt)|*.txt";//设置文件后缀的过滤
	file.FileName = "hello.txt";  //默认写好存的文件名字(注意文件类型要和上面的保持一致)
    if (file.ShowDialog() == DialogResult.OK)//如果有文件保存路径
    {
        File.WriteAllText(file.FileName, log_richTextBox.Text);
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值