vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Tipp 1975: Datei sicher löschen 
Autor: Preisser
Datum: 11.06.12 14:16

Hallo,

ich weiß nicht, wie du eine Datei öffnest, aber wenn man eine Datei ganz normal zum Lesen-/Schreiben öffnet (z.B. FileMode.Open), wird die alte Datei sicherlich nicht gelöscht (das würde sonst ja bedeuten, dass auch der alte Dateiinhalt weg wäre).

Klar gibt es noch Sondermodi wie FileMode.Truncate, die die alte Datei löschen bzw. auf 0 Bytes setzen (wie Manfred bereits erwähnte) - aber davon handelt der Tipp ja nicht (System.IO.File.OpenWrite() verwendet ebenfalls FileMode.OpenOrCreate).

JangoF schrieb:
Zitat:


Kann man schön selbst mal sich ansehen in dem man ein kleines
VB oder VBA Programm schreibt.

Dort öffnet man eine Datei zum schreiben die es bereits gibt.
Am besten eine größere damit man den Speicherverbrauch besser
erkennen kann.
Vor dem Start des Programms schaut man sich die Eigenschaften
des Laufwerks an und merkt sich den belegten und freien
Speicherplatz.
Dann startet man das Programm und führt nur die Zeile zum
öffnen der Datei aus und hält das Programm dort an.
Der Zugriff auf die Datei bleibt bestehen, die Datei bleibt
geöffnet.
Dann sieht man das die neue Datei eine größe von 0 hat und in
den Eigenschaften des Laufwerks ist der komplette
Speicherplatz der alten Datei wieder freigegeben worden.


Ich habe mal eine Datei mit 4,3 GB unter Verwendung eines FileStreams mit FileMode.OpenOrCreate zum Lesen bzw. Schreiben geöffnet, und auf Position 104.857.600 dann 1.000 Bytes überschrieben. Sowohl vor als auch nach dem Öffnen / Schreiben war die Größe der Datei (und der freie Speicherplatz auf dem Laufwerk) der gleiche.

Ich hab allerdings nicht nachgesehen, welche Sektoren die Datei belegt (und ob es nach dem Schreibzugriff immer noch die gleichen sind).

Was mir bei dem Tipp allerdings auffällt, ist, dass die Datei sofort nach dem Schreiben gelöscht wird - in dem Fall könnte es möglicherweise aber passieren (bei kleineren Dateien), dass Windows noch die geschriebenen Daten im Cache hat und sie nach dem Löschaufruf erst gar nicht mehr auf die Festplatte schreibt, sondern die Datei sofort löscht (bin mir aber nicht sicher).

Beitrag wurde zuletzt am 11.06.12 um 14:30:23 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Tipp 1975: Datei sicher löschen2.332AlexWirt10.06.12 12:26
Re: Tipp 1975: Datei sicher löschen1.599ModeratorFZelle10.06.12 13:47
Re: Tipp 1975: Datei sicher löschen1.570JangoF10.06.12 19:06
Re: Tipp 1975: Datei sicher löschen1.551ModeratorFZelle10.06.12 21:32
Re: Tipp 1975: Datei sicher löschen1.649JangoF10.06.12 22:51
Re: Tipp 1975: Datei sicher löschen1.496ModeratorFZelle11.06.12 10:03
Re: Tipp 1975: Datei sicher löschen1.494JangoF11.06.12 13:34
Re: Tipp 1975: Datei sicher löschen1.605Manfred X11.06.12 13:49
Re: Tipp 1975: Datei sicher löschen1.507JangoF11.06.12 14:58
Re: Tipp 1975: Datei sicher löschen1.568Preisser11.06.12 14:16
Re: Tipp 1975: Datei sicher löschen1.550JangoF11.06.12 15:07
Re: Tipp 1975: Datei sicher löschen1.546Manfred X11.06.12 15:26
Re: Tipp 1975: Datei sicher löschen1.703AlexWirt10.06.12 14:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel