2016-11-29 15 views
0

ファイルを "移動"しようとしています。ファイル名をFile.Moveに変更しようとしています。特定のフォルダーにストアファイルを追加する必要がある前に、これはうまくいきました。完全なパスを追加しているので、私はファイルを作成することができ、私はそれらに書き込むことができますが、すぐに私はそれが私が持っているコードの一部の例を「非サポート例外」 を与えるFile.Moveを使用しようとして、次のとおりです。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);'クイックウォッチを使用してコードを更新し、 'PathStart +" temp.txt "、pathStart + file' – MethodMan

答えて

0

ファイルを最初に削除するので完全なファイルパスでメソッドを入力すると思います。完全なファイルパスが含まれている場合にのみ意味があります。

移動呼び出しでは、ファイルパスにこのファイルを追加しようとすると、エラーが発生します。

私はそれを試してみましたが、ファイル名だけを入力すると期待通りに動作します。完全なファイルパスを入力すると、実際にエラーが発生します。

+0

' Path.Combine'メソッドを使用していました。他の質問 – comphunter159

関連する問題