2012-04-16 5 views
6

Как определить размер текстового файла?Определение размера файла в VB.NET

Я знаю, что могу просто подсчитывать символы, но файл будет размером в несколько МБ.

+1

я нашел через Google: http://www.dotnetperls.com/file-size-vbnet –

+0

Связанных, но C#: * [Как получить размер файла в C#?] (Http://stackoverflow.com/questions/1380839) * –

ответ

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

Спасибо за ваш ответ. Я бы не спросил, знаю ли я, что это так просто. –

1

Использование file может быть опасно, так как это также название класса. Лучше закодировать его следующим образом:

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

Это действительно так, но вы действительно должны придумать лучшее имя, чем 'myFile'. Это хорошая возможность написать что-то * описательное *. IntelliSense упрощает использование длинных имен. –

+0

-1 для копирования кода в ответе перед ним. Это в значительной степени прямая копия принятого ответа. – cybermonkey

+3

+1 потому что использование зарезервированных слов (или что-то в этом роде) - ужасная практика, и я рад, что этот комментарий остановил меня от этого. – Isaac

-3

код из другого ответа не проверяет, правильный размер файла:

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

Попробуйте этот код вместо

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

От How to: Determine a File's Size in Visual Basic (MSDN).

+0

Почему первый фрагмент кода не работает? Спецификация файла отличается для двух фрагментов кода «file.txt» для первого фрагмента кода (относительная спецификация файла) и «C: \ testfile.txt» для второй (абсолютная спецификация файла). Первый зависит от текущего каталога. Не будет ли первый фрагмент кода работать, если он использует «C: \ testfile.txt» вместо «file.txt»? –

+0

Этот ответ просто неправильный. *** Единственная причина, по которой первый фрагмент кода не будет работать, - это если у вас нет прав на чтение файла. Первый фрагмент кода - это только сокращенная версия второго, в противном случае ваш «не работает» недействителен. *** – cybermonkey