2013-07-08 1 views
0

다음은 디렉토리에서 7 일이 넘은 파일을 압축하여 같은 이름의 압축 파일을 만드는 코드 샘플입니다. 기존 파일을 삭제하십시오. 이 예제에서는 .txt 파일을 사용 하겠지만 이것을 변경할 수 있습니다.ZipSharpLib로 파일을 압축하고 기존 파일 이름을 새 Zip 파일 이름 (asp.net VB)으로 사용하는 방법

myfile1.txt ---> myfile1.zip ---> 삭제 myfile1.txt
myfile2.txt ---> myfile2.zip ---> myfile2.txt

Dim NumDays As Integer = 7 
Dim reportDbPath As String = Directory.GetParent(System.Reflection.Assembly.GetExecutingAssembly().Location).FullName() & "\report" 
Dim fileEntries As String() = Directory.GetFiles(reportDbPath) 
For Each fileName In fileEntries 
    If Path.GetExtension(fileName) = ".txt" AndAlso Directory.GetCreationTime(fileName) < DateAdd(DateInterval.Day, -NumDays, Now()) Then 
     Dim fi As New FileInfo(fileName) 
     Dim archiveFileName As String = Path.GetFileNameWithoutExtension(fileName) & ".zip" 
     Dim fsOut As FileStream = File.Create(Path.Combine(reportDbPath, archiveFileName)) 
     Dim zipStream As New ZipOutputStream(fsOut) 
     zipStream.SetLevel(9) 
     Dim newEntry As New ZipEntry(ZipEntry.CleanName(Path.GetFileName(fileName))) 
     newEntry.DateTime = fi.LastWriteTime 
     newEntry.Size = fi.Length 
     zipStream.PutNextEntry(newEntry) 
     Dim buffer As Byte() = New Byte(4095) {} 
     Using streamReader As FileStream = File.OpenRead(fileName) 
      StreamUtils.Copy(streamReader, zipStream, buffer) 
     End Using 
     zipStream.CloseEntry() 
     zipStream.IsStreamOwner = True 
     zipStream.Close() 
     File.Delete(fileName) 
    End If 
Next fileName 

희망을 삭제 그것은 쓸모있다!

+0

무슨 문제인가요? zip 파일 만들기, zip 파일 이름 지정, 텍스트 파일 삭제 등의 작업에 문제가 있습니까? –

+0

파일을 압축하는 코드를 게시 할 수 있습니까? –

+0

정확히 무엇이 문제입니까? (누락 된 부분 삭제 제외). 나는 그것을 테스트하고 잘 작동합니다. 그것은 별도의 파일을 만듭니다. –

답변

0

이미 올바른 코드가있어서 질문에 답할 필요가 없습니다. - HOWTO로 변환했습니다.