2016-11-29 1 views
0

파일을 "이동"하려고하고 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

답변

0

내 생각 엔 파일을 먼저 삭제하기 때문에 전체 파일 경로가있는 메서드를 입력하는 것입니다. 전체 파일 경로가 포함 된 경우에만 의미가 있습니다. (사용자의 'file'매개 변수)

이동 호출에서이 파일을 파일 경로에 추가하려고하면 오류가 발생합니다.

나는 그것을 시도하고 파일 이름을 입력 할 때 예상대로 작동합니다. 완전한 파일 경로를 입력하면 오류가 발생합니다.

+0

'Path.Combine' 메쏘드를 사용하여 모든 것이 효과가있었습니다. – comphunter159

관련 문제