2012-12-30 4 views
2

그래, 내가 읽은 게시물이 간단한 수정이라고 말하는 것을 해결하기 위해 과도한 시간을 보냈습니다.문자열 파일 경로가 작동하지 않습니다. C#

내 문서의 파일에 쓰고 싶습니다. 여기에 제 코드가 있습니다.

 string st = @"C:\Users\<NAME>\Documents\Sample1.txt"; 

     System.IO.StreamWriter file = new System.IO.StreamWriter(st); 
     file.WriteLine(Convert.ToString(Sample1[0])); 
     file.Close(); 

여기서 사용자 이름이 있습니다. 나는 다음과 같은 오류

을 얻고있다 "형식의 첫째 예외 'System.IO.DirectoryNotFoundException는'mscorlib.ni.dll 발생했습니다. 'System.IO.DirectoryNotFoundException는'mscorlib.ni에서 발생 유형의 예외. dll하지만 사용자 코드에서 처리되지 않았습니다. "

Windows Phone Development 용 Visual Studio Express를 사용하고 있습니다.

누구든지 내가 뭘 잘못하고 있는지 지적 할 수 있으면 감사 할 것입니다.

감사합니다.

+0

스택 추적이란 무엇입니까? – SLaks

+2

'DirectoryNotFoundException' ... 전화 상에 디렉토리가 존재합니까? – SLaks

+0

코드를 디버그하여 경로 문자열에서 찾을 수없는 디렉터리 또는 파일을 찾습니다. –

답변

2

게시 한 문자열을 사용하고 있다고 가정합니다. 그렇다면 SpecialFolder Enum을 사용해야합니다.

var st = string.format(@"{0}\Sample1.txt", 
      Environment.GetFolderPath(Environment.SpecialFolder.Personal)); 
1

당신은 Environment.SpecialFolder 열거 형을 활용하고 경로를 만들 수 Path.Combine(...)를 사용해야합니다 : 그것은 일회용이기 때문에

또한
var path = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.Personal), 
    "Sample1.txt"); 

using (var sw = new StreamWriter(path)) 
{ 
    sw.WriteLine(Convert.ToString(Sample1[0])); 
} 

, StreamWriterusing 문 내에서 배치해야합니다.

0

얻으려면 내 문서 사용 :

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 

는 호스트 컴퓨터에서 내 문서의 경로를 반환합니다.

당신은 MSDN에 SpecialFolders의 목록을 볼 수 있습니다 : http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx

편집 : 난 그냥 당신이 Windows Phone 용 개발했다났습니다. MSDN에서 다른 SpecialFolders에 대해 읽어보십시오.

관련 문제