2023. 4. 16. 13:01ㆍVB.NET/왕초보
파일을 압축하는건 파일 크기를 줄이고 저장 공간을 확보하고 파일 전송 시간을 단축하는 효과가 있어서 유용합니다. 파일을 압축하려면 VB.NET에서 제공하는 System.IO.Compression 네임스페이스를 사용할 수 있습니다. 이 글에서는 VB.NET에서 파일 압축하는 방법에 대해서 자세하게 알아보겠습니다.
VB.NET으로 파일 압축하고 해제하기
System.IO.Compression 네임스페이스 소개
System.IO.Compression 네임스페이스는 .NET Framework에서 파일을 압축하고 해제할 수 있는 클래스를 제공합니다. 이 네임스페이스에서는 Zip 파일 포맷을 지원하는 ZipArchive 및 ZipFile 클래스를 제공합니다.
파일 압축하기
VB.NET에서 파일을 압축하기 위해서는 ZipFile.CreateFromDirectory 메서드를 사용합니다. 이 메서드는 지정된 디렉터리의 모든 파일을 압축 파일로 만듭니다. 아래는 ZipFile.CreateFromDirectory 메서드의 사용 예시입니다.
Dim startPath As String = "C:\example"
Dim zipPath As String = "C:\example.zip"
ZipFile.CreateFromDirectory(startPath, zipPath)
위 코드에서는 C:\example 디렉터리의 모든 파일을 C:\example.zip 파일로 압축합니다.
파일 압축 해제하기
VB.NET에서 압축된 파일을 해제하기 위해서는 ZipFile.ExtractToDirectory 메서드를 사용합니다. 이 메서드는 지정된 압축 파일을 특정 디렉터리에 해제합니다. 아래는 ZipFile.ExtractToDirectory 메서드의 사용 예시입니다.
Dim zipPath As String = "C:\example.zip"
Dim extractPath As String = "C:\example"
ZipFile.ExtractToDirectory(zipPath, extractPath)
위 코드에서는 C:\example.zip 파일을 C:\example 디렉터리에 해제합니다.
파일 추가하기
VB.NET에서 압축 파일에 파일을 추가하기 위해서는 ZipArchive 클래스를 사용합니다. 이 클래스의 CreateEntryFromFile 메서드를 사용하여 압축 파일에 파일을 추가할 수 있습니다. 아래는 ZipArchive 클래스의 CreateEntryFromFile 메서드의 사용 예시입니다.
Dim zipPath As String = "C:\example.zip"
Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
Dim sourceFile As String = "C:\example.txt"
Dim entryName As String = "example.txt"
archive.CreateEntryFromFile(sourceFile, entryName)
End Using
위 코드에서는 C:\example.zip 파일에 C:\example.txt 파일을 추가합니다.
파일 삭제하기
VB.NET에서 압축 파일에서 파일을 삭제하기 위해서는 ZipArchive 클래스를 사용합니다. 이 클래스의 GetEntry 및 Delete 메서드를 사용하여 압축 파일에서 파일을 삭제할 수 있습니다. 아래는 ZipArchive 클래스의 GetEntry 및 Delete 메서드의 사용 예시입니다.
Dim zipPath As String = "C:\example.zip"
Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
Dim entryName As String = "example.txt"
Dim entryToDelete As ZipArchiveEntry = archive.GetEntry(entryName)
entryToDelete.Delete()
End Using
위 코드에서는 C:\example.zip 파일에서 example.txt 파일을 삭제합니다.
6. 파일 업데이트하기
VB.NET에서 압축 파일에서 파일을 업데이트하기 위해서는 ZipArchive 클래스를 사용합니다. 이 클래스의 GetEntry 및 CreateEntryFromFile 메서드를 사용하여 압축 파일에서 파일을 업데이트할 수 있습니다. 아래는 ZipArchive 클래스의 GetEntry 및 CreateEntryFromFile 메서드의 사용 예시입니다.
Dim zipPath As String = "C:\example.zip"
Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
Dim sourceFile As String = "C:\example_updated.txt"
Dim entryName As String = "example.txt"
Dim entryToUpdate As ZipArchiveEntry = archive.GetEntry(entryName)
entryToUpdate.Delete()
archive.CreateEntryFromFile(sourceFile, entryName)
End Using
위 코드에서는 C:\example.zip 파일에서 example.txt 파일을 삭제하고 C:\example_updated.txt 파일을 example.txt 파일로 업데이트합니다.
7. 파일 압축 레벨 설정하기
VB.NET에서 파일을 압축할 때 압축 레벨을 설정할 수 있습니다. 압축 레벨은 압축 파일의 크기와 압축 속도에 영향을 줍니다. 압축 레벨은 ZipFile.CompressionLevel 열거형으로 설정할 수 있습니다. 아래는 ZipFile.CreateFromDirectory 메서드에서 압축 레벨을 설정하는 방법의 예시입니다.
Dim startPath As String = "C:\example"
Dim zipPath As String = "C:\example.zip"
Dim compressionLevel As CompressionLevel = CompressionLevel.Optimal
ZipFile.CreateFromDirectory(startPath, zipPath, compressionLevel, False)
위 코드에서는 C:\example 디렉터리의 모든 파일을 C:\example.zip 파일로 Optimal 압축 레벨로 압축합니다.
마치며...
이 글에서는 VB.NET에서 파일을 압축하고 해제하는 방법에 대해서 알아보았습니다. 이를 통해 파일 크기를 줄이고 저장 공간을 확보하며 파일 전송 시간을 단축할 수 있습니다. 뿐만 아니라, 압축한 파일안에 다른 파일을 추가하거나 삭제하는 등의 업데이트 기능도 알아두면 도움이 많이 되는 기능이니 꼭 숙지하도록 연습하세요.
관련글 : 2023.04.12 - [VB.NET/왕초보] - VB.NET 정렬 알고리즘과 예제 코드
'VB.NET > 왕초보' 카테고리의 다른 글
VB.NET에서 코드 최적화 기술 익히기 (0) | 2023.04.18 |
---|---|
VB.NET에서 데이터베이스 트랜잭션 처리하기 (0) | 2023.04.17 |
VB.NET에서 스택(Stack)과 큐(Queue) 사용하기 (0) | 2023.04.14 |
VB.NET에서 XML 처리하기 (0) | 2023.04.13 |
VB.NET 정렬 알고리즘과 예제 코드 (0) | 2023.04.12 |