C#에서 시스템의 임시 폴더(temporary folder) 경로를 확인하려면 Path 클래스의 GetTempPath() 메서드를 사용하면 됩니다. 이 메서드는 운영체제가 임시 파일을 저장하는 기본 디렉터리의 전체 경로를 문자열로 반환해 줍니다.
GetTempPath() 메서드란?
GetTempPath()는 System.IO 네임스페이스에 포함된 정적(static) 메서드로, 객체를 생성할 필요 없이 바로 호출할 수 있습니다. 반환되는 경로 끝에는 항상 구분 기호(\ 또는 /)가 붙습니다.
Windows 환경에서는 다음 순서대로 환경 변수를 검사하여 임시 폴더 경로를 결정합니다.
- TMP 환경 변수
- TEMP 환경 변수
- USERPROFILE 환경 변수
- Windows 디렉터리
따라서 대부분의 Windows 시스템에서는 C:\Users\사용자이름\AppData\Local\Temp\와 같은 경로가 반환됩니다.
예제 코드
아래 코드는 GetTempPath()로 임시 폴더 경로를 변수에 담아 콘솔에 출력하는 간단한 프로그램입니다.
using System;
using System.IO;
class Demo {
static void Main() {
string tempFile = Path.GetTempPath();
Console.WriteLine(tempFile);
}
}
실행 결과
/tmp/
위 결과는 Unix/Linux 계열 환경에서 실행한 경우의 출력입니다. Windows에서 동일한 코드를 실행하면 C:\Users\사용자이름\AppData\Local\Temp\ 형태의 경로가 화면에 표시됩니다.
참고 사항
임시 파일 이름 자체를 생성하고 싶다면 Path.GetRandomFileName() 또는 Path.GetTempFileName() 메서드를 함께 활용할 수 있습니다. 특히 GetTempFileName()은 고유한 임시 파일을 실제로 생성한 뒤 그 전체 경로를 반환하므로, 임시 파일을 안전하게 다룰 때 유용합니다.