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
希望它是有益的!
你有什么问题。你在制作压缩文件,命名压缩文件,删除文本文件等方面遇到麻烦吗? –
你可以发布你的代码来压缩文件吗? –
究竟是什么问题? (除了缺少的删除部分)。我测试了它,它工作正常。它创建单独的文件。 –