2012-04-16 16 views
6

Wie ermittle ich die Größe einer Textdatei?Ermitteln der Dateigröße in VB.NET

Ich weiß, dass ich nur Zeichen zählen konnte, aber die Datei wird mehrere MB groß sein.

+1

Ich fand diese über Google: http://www.dotnetperls.com/file-size-vbnet –

+0

Verwandte, sondern auch für C#: * [Wie erhalten Sie die Dateigröße in C#?] (Http://stackoverflow.com/questions/1380839) * –

Antwort

24
Dim myFile As New FileInfo("file.txt") 
Dim sizeInBytes As Long = myFile.Length 
+1

Vielen Dank für Ihre Antwort. Ich hätte nicht gefragt, ob ich gewusst hätte, dass es so einfach war. –

1

Die Verwendung von file kann gefährlich sein, wie es auch der Name einer Klasse. Es ist besser, es zu codieren, wie folgt:

Dim myFile As New FileInfo("file.txt") 
Dim sizeInBytes As Long = myFile.Length 
+1

Das ist wahr, aber Sie sollten sich einen besseren Namen als 'myFile' ausdenken. Es ist eine gute Gelegenheit, etwas * deskriptiv * zu schreiben. IntelliSense macht die Verwendung langer Namen einfach. –

+0

-1 zum Auslesen des Codes in der Antwort davor. Dies ist eine direkte Kopie der angenommenen Antwort. – cybermonkey

+3

+1, weil reservierte Wörter (oder etwas Ähnliches) verwendet wird, ist eine schreckliche Übung und ich bin froh, dass dieser Kommentar mich davon abgehalten hat. – Isaac

-3

Der Code von der anderen Antwort ist die richtige Größe der Datei nicht überprüfen:

Dim myFile As New FileInfo("file.txt") 
Dim sizeInBytes As Long = MyFile.Length 

diesen Code Versuchen Sie stattdessen

Dim infoReader As System.IO.FileInfo = _ 
    My.Computer.FileSystem.GetFileInfo("C:\testfile.txt") 
MsgBox("File C:\testfile.txt is " & infoReader.Length & " bytes.") 

Es ist von How to: Determine a File's Size in Visual Basic (MSDN).

+0

Warum würde das erste Code-Snippet nicht funktionieren? Die Dateispezifikation unterscheidet sich für die beiden Code-Snippets, "file.txt" für das erste Code-Snippet (relative Dateispezifikation) und "C: \ testfile.txt" für die zweite (absolute Dateispezifikation). Die erste hängt vom aktuellen Verzeichnis ab. Würde das erste Code-Snippet nicht funktionieren, wenn es "C: \ testfile.txt" anstelle von "file.txt" verwendet? –

+0

Diese Antwort ist einfach falsch. *** Der einzige Grund, warum das erste Code-Snippet nicht funktioniert, ist, wenn Sie nicht die Berechtigung zum Lesen der Datei haben. Das erste Code-Snippet ist nur eine gekürzte Version des zweiten Code-Snippets, wodurch das 'funktioniert nicht' ungültig wird. *** – cybermonkey

Verwandte Themen