[go] 파일 해제
파일을 압축 해제하는 작업은 Go 언어로 쉽게 수행할 수 있습니다. 이 포스트에서는 Go 언어를 사용하여 파일을 압축 해제하는 간단한 방법을 알아보겠습니다.
필요한 패키지 가져오기
먼저, archive/zip
패키지를 사용하여 파일을 압축 해제하는 예제를 살펴보겠습니다. 이를 위해 archive/zip
패키지를 가져와야 합니다.
import (
"archive/zip"
"log"
"os"
)
파일 해제 함수 구현
다음으로, 압축 해제를 수행하는 함수를 구현합니다. 이 함수는 압축 파일의 경로를 입력받아 파일을 압축 해제합니다.
func extractFiles(zipFile string) error {
reader, err := zip.OpenReader(zipFile)
if err != nil {
return err
}
defer reader.Close()
for _, file := range reader.File {
if file.FileInfo().IsDir() {
os.MkdirAll(file.Name, os.ModePerm)
continue
}
f, err := file.Open()
if err != nil {
return err
}
defer f.Close()
targetFile, err := os.OpenFile(file.Name, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, file.Mode())
if err != nil {
return err
}
defer targetFile.Close()
_, err = io.Copy(targetFile, f)
if err != nil {
return err
}
}
return nil
}
위의 코드에서 extractFiles
함수는 주어진 ZIP 파일에서 파일을 추출하여 디렉터리를 만들고 파일을 복사하는 작업을 수행합니다.
파일 압축 해제
이제 extractFiles
함수를 사용하여 파일을 압축 해제할 수 있습니다.
func main() {
zipFile := "example.zip"
err := extractFiles(zipFile)
if err != nil {
log.Fatal(err)
} else {
log.Println("압축 해제가 완료되었습니다.")
}
}
위의 main
함수에서는 example.zip
파일을 압축 해제하는 예시를 보여줍니다.
결론
Go 언어를 사용하여 파일을 압축 해제하는 방법을 살펴보았습니다. archive/zip
패키지를 사용하여 파일을 압축 해제하는 간단한 예제를 통해 파일 해제의 기본적인 개념을 이해할 수 있습니다.
참고 문헌:
기타 문의 사항이 있으시면 언제든지 문의해 주세요!