- imports ICSharpCode.SharpZipLib.Zip
- imports System.io
-
- 'On déclare une arraylist qui contiendras tous les fichiers
- Private ListeInfo As New ArrayList
-
- ' La fonction qui va remplir notre arraylist
- Private Function ListeFichier(ByVal repertoire As DirectoryInfo, ByVal Reset As Boolean) As ArrayList
-
- If Reset = True Then
- ListeInfo.Clear()
- End If
-
-
- If repertoire.GetDirectories.Length <> 0 Then
- For Each repertoire2 As DirectoryInfo In repertoire.GetDirectories
- ListeFichier(repertoire2, False)
- Next
- End If
-
- For Each fichier As FileInfo In repertoire.GetFiles("*.*")
-
- ListeInfo.Add(fichier.FullName)
- Next
-
- Return ListeInfo
-
- End Function
-
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
-
- Dim isError as string
-
- Try
- Dim DI As New DirectoryInfo("D:\Documents\")
- Dim astrFileNames As ArrayList = ListeFichier(DI, True)
- Dim strmZipOutputStream As ZipOutputStream
-
- strmZipOutputStream = New ZipOutputStream(File.Create("D:\Documents " & now.ToString("dd.MMMM.yyyy hh-mm") & ".zip"))
-
- 'Nombre de 1 à 9: 9 plus compressé
- strmZipOutputStream.SetLevel(9)
-
- For Each strFile As String In astrFileNames
- Dim strmFile As FileStream = File.OpenRead(strFile)
- Dim abyBuffer(strmFile.Length - 1) As Byte
-
- strmFile.Read(abyBuffer, 0, abyBuffer.Length)
- Dim RelatifstrFile As String
- RelatifstrFile = strFile.Substring("D:\Documents\".Length)
- Dim objZipEntry As ZipEntry = New ZipEntry(RelatifstrFile)
-
- objZipEntry.DateTime = DateTime.Now
- objZipEntry.Size = strmFile.Length
- strmFile.Close()
- strmZipOutputStream.PutNextEntry(objZipEntry)
- strmZipOutputStream.Write(abyBuffer, 0, abyBuffer.Length)
- Next
-
- strmZipOutputStream.Finish()
- strmZipOutputStream.Close()
-
- Catch ex as Exception
- isError = "Erreur :" & VbNewLine & ex.tostring
- end try
-
- if isError is nothing Then isError = "c'est OK, le zip est fait"
- label1.text = isError
-
- End Sub
imports ICSharpCode.SharpZipLib.Zip
imports System.io
'On déclare une arraylist qui contiendras tous les fichiers
Private ListeInfo As New ArrayList
' La fonction qui va remplir notre arraylist
Private Function ListeFichier(ByVal repertoire As DirectoryInfo, ByVal Reset As Boolean) As ArrayList
If Reset = True Then
ListeInfo.Clear()
End If
If repertoire.GetDirectories.Length <> 0 Then
For Each repertoire2 As DirectoryInfo In repertoire.GetDirectories
ListeFichier(repertoire2, False)
Next
End If
For Each fichier As FileInfo In repertoire.GetFiles("*.*")
ListeInfo.Add(fichier.FullName)
Next
Return ListeInfo
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim isError as string
Try
Dim DI As New DirectoryInfo("D:\Documents\")
Dim astrFileNames As ArrayList = ListeFichier(DI, True)
Dim strmZipOutputStream As ZipOutputStream
strmZipOutputStream = New ZipOutputStream(File.Create("D:\Documents " & now.ToString("dd.MMMM.yyyy hh-mm") & ".zip"))
'Nombre de 1 à 9: 9 plus compressé
strmZipOutputStream.SetLevel(9)
For Each strFile As String In astrFileNames
Dim strmFile As FileStream = File.OpenRead(strFile)
Dim abyBuffer(strmFile.Length - 1) As Byte
strmFile.Read(abyBuffer, 0, abyBuffer.Length)
Dim RelatifstrFile As String
RelatifstrFile = strFile.Substring("D:\Documents\".Length)
Dim objZipEntry As ZipEntry = New ZipEntry(RelatifstrFile)
objZipEntry.DateTime = DateTime.Now
objZipEntry.Size = strmFile.Length
strmFile.Close()
strmZipOutputStream.PutNextEntry(objZipEntry)
strmZipOutputStream.Write(abyBuffer, 0, abyBuffer.Length)
Next
strmZipOutputStream.Finish()
strmZipOutputStream.Close()
Catch ex as Exception
isError = "Erreur :" & VbNewLine & ex.tostring
end try
if isError is nothing Then isError = "c'est OK, le zip est fait"
label1.text = isError
End Sub