본문 바로가기
IT개발/c#

[c#] 파일 입출력 할 때 없는 폴더 생성 후 파일을 저장해보자

by dootiger 2014. 4. 21.
반응형

이번에 알아볼 것은 파일 생성에 필요한 실행 프로그램의 경로와 폴더 생성에 관한 내용입니다.

 

파일 읽기, 쓰기를 할때 절대 경로가 아닌 상대 경로가 필요할때가 있습니다.

 

뭐 상관없이 절대경로로 C:\ 에 넣으면 좋겠지만 그렇지 않다면

 

현재 실행중인 실행파일을 보관하고있는 폴더에 있는 하위폴더 save 폴더에 넣고 싶다면 지금부터 설명할 방식을 사용합면 됩니다.

 

간단하게 


Ex) C:\myProject\myProgram.exe  


란 경로 가 있다고 합시다.

 

myProgram.exe의 위치에 따라 앞의 내용이 달라질 겁니다.

그때 사용할건 바로!!


string strPath = AppDomain.CurrentDomain.BaseDirectory; 


입니다.

딱 이 한줄로 모든게 해결됩니다.

 

그런데 문제는 전 그 하위 폴더인 save에 결과를 txt파일로 저장하고 싶습니다.

 

간단히 FileStream(strPath + @"\result.txt", FileMode.Append, FileAccess.Write); 하면 될까요?

 

당연히 안되니까 물어봤겠죠 ㅡㅡ;; ㅋㅋ

 

이 폴더가 현재 존재하는지 확인하고 생성하는게 필요합니다.



strPath = strPath + @"\save";

 

DirectoryInfo di = new DirectoryInfo(strPath);

if (di.Exists == false)

{

        di.Create();

}

 


짜잔!!  


이렇게 하면 내 실행파일이 어디에 저장되있건, 폴더가 있든없든 저장이 가능하게 됩니다. 




반응형