使用File.Move时不支持异常
问题描述:
我试图“移动”文件并使用File.Move
对其进行重命名。在我需要将存储文件添加到特定文件夹之前,它工作正常。由于添加的完整路径,我可以创建文件,我可以写信给他们,但只要我尝试使用File.Move
它给了我“NotSupportedException异常” 的一些我的代码的一个例子是:使用File.Move时不支持异常
private static void myMethod(String file)
{
File.Delete(file);
using (sout = new StreamWriter(pathStart + "temp.txt"))
{
foreach(Deck deck in deckList)
{
if (deck != null)
{
sout.WriteLine(myString);
sout.WriteLine(otherString);
sout.Flush();
}
}
}
File.Move(pathStart + "temp.txt", pathStart + file);
File.Delete(pathStart + "temp.txt");
}
任何帮助将不胜感激。
答
我的猜测是,您先输入带有完整文件路径的方法,因为您首先删除了该文件。这只有在包含完整的文件路径时才有意义。 (您的'文件'参数)
在Move调用中,您尝试将此文件添加到文件路径,并且出现以下错误。
我试过了,它只有在输入文件名时才按预期工作。当我输入一个完整的文件路径时,我确实得到了你的错误。
+0
使用'Path.Combine'方法一切工作正如另一个问题 – comphunter159
'pathStart'的价值是什么?你应该使用'Path.Combine(pathStart,“temp.txt”)。作为参考,当sourceFileName或destFileName的格式无效时,将引发异常。(请参阅[documentation](https://msdn.microsoft.com/en-us/library/system.io.file.move( v = vs.110).aspx)) –
pathStart是我的文件系统的复制和粘贴路径。 – comphunter159
如果你在你的代码中放置断点,例如在这一行上 'File.Move(pathStart +“temp.txt”,pathStart + file);'请更新你的代码,并告诉我们当你使用QuickWatch 'pathStart +“temp.txt”,pathStart + file' – MethodMan