Wie löscht man eine Datei? Eine auf diese Weise gelöscht Datei lässt sich aber i.a.R. mit entsprechenden Undelete-Tools wiederherstellen. Was aber, wenn man eine Datei dauerhaft löschen will? D.h. eine Wiederherstellung soll nicht wieder möglich sein? Und das ganze natürlich aus der VB-Anwendung heraus, ohne irgend ein externes Tool einsetzen zu müssen. Ein kleiner Trick - und eine mit der File.Delete-Methode gelöschte Datei lässt sich nicht wiederherstellen. Und so geht's: Und hier der Code: ''' <summary> ''' Datei sicher löschen ''' </summary> ''' <param name="Filename">Dateiname mit vollständiger Pfadangabe</param> ''' <returns>True, wenn die Datei gelöscht werden konnte, andernfalls False.</returns> Public Function KillFile(ByVal Filename As String) As Boolean Try ' Existiert die Datei? If IO.File.Exists(Filename) Then ' Größe der Datei in Bytes ermitteln With New IO.FileInfo(Filename) Dim fileLen As Long = .Length ' jetzt Datei zum Schreiben öffnen und blockweise ' den Inhalt überschreiben Dim wStream As IO.FileStream = .OpenWrite() Dim curPos As Long = 0 Dim emptyBytes(2047) As Byte While curPos < fileLen Dim wLen As Long = fileLen - curPos If wLen > emptyBytes.Length Then wLen = emptyBytes.Length wStream.Write(emptyBytes, 0, wLen) curPos += wLen End While ' Datei schließen wStream.Flush() wStream.Close() End With ' jetzt löschen IO.File.Delete(Filename) Return True End If Catch ex As Exception Return False End Try End Function Dieser Tipp wurde bereits 15.254 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats ![]() Dieter Otter Druckposition in mm festlegen Mit einer kleinen Umrechnungsfunktion lässt sich die Druckposition auch in mm bestimmten. Neu! sevEingabe 3.0 ![]() Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |