[go] 파일 경로에서 파일 타입 확인하기

파일 경로가 주어졌을 때 해당 파일이 디렉토리, 일반 파일, 심볼릭 링크 등인지 확인하고 싶을 때가 있습니다. Golang을 사용하여 파일 경로의 파일 타입을 확인하는 방법을 알아보겠습니다.

파일 타입 확인하기

다음은 주어진 파일 경로에서 파일의 타입을 확인하는 함수입니다. 이 함수는 파일이 디렉토리인지, 심볼릭 링크인지, 또는 일반 파일인지를 확인합니다.

package main

import (
	"fmt"
	"os"
)

func checkFileType(filePath string) (string, error) {
	fileInfo, err := os.Lstat(filePath)
	if err != nil {
		return "", err
	}

	switch mode := fileInfo.Mode(); {
	case mode.IsRegular():
		return "일반 파일", nil
	case mode&os.ModeSymlink != 0:
		return "심볼릭 링크", nil
	case mode.IsDir():
		return "디렉토리", nil
	}

	return "알 수 없는 파일 타입", nil
}

func main() {
	filePath := "/path/to/file"
	fileType, err := checkFileType(filePath)
	if err != nil {
		fmt.Println("파일 타입 확인 중 오류 발생:", err)
		return
	}
	fmt.Println("파일 타입:", fileType)
}

위의 코드에서 os.Lstat 함수를 사용하여 파일 정보를 가져온 후, fileInfo.Mode()를 통해 파일의 모드를 확인합니다. 그리고 Mode의 여러 메소드를 사용하여 파일의 타입을 확인합니다.

이제 주어진 파일 경로의 파일 타입을 확인할 수 있는 Golang 코드를 작성할 수 있을 것입니다.

결론

이번 포스트에서는 Golang을 사용하여 파일 경로에서 파일 타입을 확인하는 방법에 대해 알아보았습니다. 파일의 타입을 확인함으로써 프로그램이 파일을 올바르게 처리하고 다룰 수 있도록 도와줄 것입니다.

행복한 코딩 되세요!