繁体   English   中英

拒绝访问路径“ C:\\ Users \\ mehdi \\ Desktop \\ sample \\ Test”

[英]Access to the path 'C:\Users\mehdi\Desktop\sample\Test' is denied

我正在尝试将文件夹加载到winForm应用程序中。 App应读取文件夹中的文件,并对文件执行一些操作。 以下是实现:

private void button1_Click(object sender, EventArgs e)
    {
        FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
        DialogResult result = folderBrowserDialog.ShowDialog();

        var files = from file in Directory.EnumerateFiles(folderBrowserDialog.SelectedPath, "*.chunk*", SearchOption.AllDirectories)
                    from line in File.ReadLines(file)
                    select new
                    {
                        File = file,
                        Line = line
                    };
        string newPath = folderBrowserDialog.SelectedPath;
        if (!Directory.Exists(newPath))
        {
            System.IO.Directory.CreateDirectory(newPath + @"\Test");
        }

        foreach (var f in files)
        {

            string path = f.File.ToString();
            string filename = Path.GetFileName(path);
            string s = string.Empty;
            using (StreamReader reader = new StreamReader(path, true))
            {
                s = reader.ReadToEnd();
                reader.Close();
            }

            string[] parts = s.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            using (File.CreateText(Path.Combine(newPath + @"\Test", filename+".txt")))
            { }
            using (StreamWriter sw = File.CreateText(Path.Combine(newPath + @"\Test", filename + ".txt")))
            {
                string output = string.Empty;
                foreach (string st in parts)
                {
                    output += st + ",";
                }
                sw.Write(output);
            }
        }
    }

using (File.CreateText(newPath))出现错误,说:

mscorlib.dll中发生了类型为'System.UnauthorizedAccessException'的未处理异常

附加信息:拒绝访问路径“ C:\\ Users \\ mehdi \\ Desktop \\ sample \\ Test”。

我想做的是,App应该加载文件夹并读取每个文本文件并执行给定的任务(用逗号替换单词之间的无序空白),然后将每个文件保存在创建为System.IO.Directory.CreateDirectory(newPath); 一切都按预期进行,但是当达到将文件写入新创建的文件夹Test ,它不允许访问。

有什么想法我要去哪里吗?

您正在newPath使用目录路径来创建文件。 newPath附加文件名以创建文件。

File.CreateText(Path.Combine(newPath, "<yourfileName>.extension"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM