2016-08-10 2 views
1

"C : \ Users \ Wangui Kamande \ Desktop \ social.txt"파일을 가지고 있는데이 파일을 .zip 파일로 압축하여 "C : \ 사용자 \ Wangui Kamande \ 바탕 화면 ". Microsoft 사이트에서 다음 코드를 얻었지만이 문제를 해결하는 방법에 대해서는 확신 할 수 없습니다. "C : \ Users \ Wangui Kamande \ Desktop \ social.txt"파일이 폴더에 있어야합니까? mircosoft 사이트에서VB.Net zip 파일 만들기 및 zip 파일에서 추출

코드는 다음과 같습니다

Private Sub btnCompress_Click(sender As Object, e As EventArgs) Handles btnCompress.Click 
     Dim startPath As String = "c:\example\start" 
     Dim zipPath As String = "c:\example\result.zip" 
     Dim extractPath As String = "c:\example\extract" 
     ZipFile.CreateFromDirectory(startPath, zipPath) 
     ZipFile.ExtractToDirectory(zipPath, extractPath) 
End Sub 

답변

2

당신은 우편으로 개별 파일을 추가 할 ZipArchive.CreateEntryFromFile 확장 방법을 원하는 ...

Using zip = ZipFile.Open("C:\Users\Wangui Kamande\Desktop\social.zip", ZipArchiveMode.Create) 
    zip.CreateEntryFromFile("C:\Users\Wangui Kamande\Desktop\social.txt", "social.txt") 
End Using 

이 우편에서 개별 파일을 추출하려면, ZipArchiveEntry.ExtractToFile 확장 방법이 있지만 먼저 zip에서 적절한 항목을 찾아야합니다. 아래 그림과 같이 당신은 이름 항목을 찾을 LINQ를 사용할 수 있습니다 ExtractToFile

Using zip = ZipFile.Open("C:\Users\Wangui Kamande\Desktop\social.zip", ZipArchiveMode.Read) 
    Dim entry = zip.Entries.Single(Function(x) x.Name = "social.txt") 
    entry.ExtractToFile("C:\Users\Wangui Kamande\Desktop\social2.txt", True) 
End Using 

제 2 매개 변수는 선택 사항이며, 기존 파일을 덮어 쓰기 여부를 지정합니다.

+0

감사 표시. 그러나 zip 파일에서 추출하는 것은 어떨까요? –

+0

@AndreaTand zip에있는 모든 파일의 압축을 풀려면 이미 가지고있는'ZipFile.ExtractToDirectory (zipPath, extractPath)'코드가 작동 할 것입니다. 개별 파일을 추출하는 것은 좀 더 많은 작업이므로, 필요한 작업인지 알려주십시오. – Mark

+0

예 원하는 것을 표시합니다. –