C#获取文件/文件夹路径

获取文件夹路径

            //选择文件夹路径
            FolderBrowserDialog dialog = new FolderBrowserDialog();
            //提示信息
            dialog.Description = "请选择文件路径";
            string Path = "";
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                Path = dialog.SelectedPath + @"\标本复查表.xlsx";
            }

最终取到的是文件夹绝对路径的字符串Path,拿到后可以拼接以作他用。

获取文件路径

            //选择文件路径
            var ofd = new OpenFileDialog();
            string path = string.Empty;
            //筛选文件类型
            ofd.Filter = "excel|*.xlsx";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                path = ofd.FileName;
            }

与获取文件路径一样,path拿到的是包含文件后缀的绝对路径字符串,其中Filter用于筛选文件类型,具体可以参考下面的文章。

openFileDialog的Filter属性设置

文件保存对话框

            string path = string.Empty;
            SaveFileDialog sfd = new SaveFileDialog();
            //默认显示名称
            sfd.FileName = "标本复查表.xlsx";
            //设置匹配文件格式,可包含多种
            sfd.Filter = "Excel(*.xlsx)|*.xlsx";

            if (sfd.ShowDialog() == DialogResult.OK)
            {
                path = sfd.FileName;
            }
            else
            {
                return;
            }

保存对话框,path最终拿到的也是包含全文件名称绝对路径字符串,可以配合I/O操作文件,但是它可以直接在对话框中编辑文件名称,文件中存在名称冲突会出现提示是否覆盖的对话框。而且可以自定义提示对话框直接进行删除等操作,代码由下面给出。

 string path = string.Empty;
            SaveFileDialog sfd = new SaveFileDialog();
            //取消自带提示框提示
            sfd.OverwritePrompt = false;

            sfd.FileName = "标本复查表.xlsx";
            sfd.Filter = "Excel(*.xlsx)|*.xlsx";

            //自定义提示框,点击保存弹出框的打开或者保存按钮触发
            sfd.FileOk += (s, e) =>
            {
                if (File.Exists(sfd.FileName))
                {
                    DialogResult ds = MessageBox.Show("文件已经存在,是否删除文件?", "提        
                       示", MessageBoxButtons.OKCancel);
                    if (ds == DialogResult.OK)
                    {
                        File.Delete(sfd.FileName);
                    }
                }
            };

            if (sfd.ShowDialog() == DialogResult.OK)
            {
                path = sfd.FileName;
            }
            else
            {
                return;
            }

当选择文件,或者输入文件夹中存在的文件的时候,会弹出上面自定义的提示框,点击确定会删除文件,并保留删除文件的绝对路径,再根据绝对路径进行创建文件等操作,只能说是一种笨方法重写文件,文章仅为本人随笔而作,有什么错误或者不妥的地方,希望大家多多指正。

猜你喜欢

转载自blog.csdn.net/qq_40702130/article/details/103574817