我尝试编写一个控制台应用程序C#来将我的etxt文件移动到另一个文件夹。 这些函数只是将文件夹A中的某些.txt文件复制到文件夹AA
string source = "C:\\A\\ResultClassA.txt";
File.Move(Source, "C:\\AA");
但它始终给出此错误消息:
拒绝访问该路径。
疑难解答提示: 确保您具有足够的权限来访问此资源。 如果您尝试访问文件,请确保它不是ReadOnly。 获取此例外的一般帮助。
在执行“File.move”代码之前,我真的需要将文件夹A和文件夹B设置为“NOT ReadOnly”属性吗?成功移动后设置为只读回来了吗?
感谢。 通过英雄。
答案 0 :(得分:5)
您需要指定完整路径并确保路径C:\AA
存在
string source = "C:\\A\\ResultClassA.txt";
File.Move(Source, "C:\\AA\\ResultClassA.txt");
有关好的样本,请参阅here
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
string path2 = @"c:\temp2\MyTest.txt";
try
{
if (!File.Exists(path))
{
// This statement ensures that the file is created,
// but the handle is not kept.
using (FileStream fs = File.Create(path)) {}
}
// Ensure that the target does not exist.
if (File.Exists(path2))
File.Delete(path2);
// Move the file.
File.Move(path, path2);
Console.WriteLine("{0} was moved to {1}.", path, path2);
// See if the original exists now.
if (File.Exists(path))
{
Console.WriteLine("The original file still exists, which is unexpected.");
}
else
{
Console.WriteLine("The original file no longer exists, which is expected.");
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
答案 1 :(得分:2)
Hero,您正在从文件名移动到文件夹名称,尝试在C:\AA
文件夹中指定扩展名的文件名。
在C上已经存在AA吗?