使用File.Move时不支持异常

使用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"); 
    } 

任何帮助将不胜感激。

+0

'pathStart'的价值是什么?你应该使用'Path.Combine(pathStart,“temp.txt”)。作为参考,当sourceFileName或destFileName的格式无效时,将引发异常。(请参阅[documentation](https://msdn.microsoft.com/en-us/library/system.io.file.move( v = vs.110).aspx)) –

+0

pathStart是我的文件系统的复制和粘贴路径。 – comphunter159

+0

如果你在你的代码中放置断点,例如在这一行上 'File.Move(pathStart +“temp.txt”,pathStart + file);'请更新你的代码,并告诉我们当你使用QuickWatch 'pathStart +“temp.txt”,pathStart + file' – MethodMan

我的猜测是,您先输入带有完整文件路径的方法,因为您首先删除了该文件。这只有在包含完整的文件路径时才有意义。 (您的'文件'参数)

在Move调用中,您尝试将此文件添加到文件路径,并且出现以下错误。

我试过了,它只有在输入文件名时才按预期工作。当我输入一个完整的文件路径时,我确实得到了你的错误。

+0

使用'Path.Combine'方法一切工作正如另一个问题 – comphunter159