Как определить размер текстового файла?Определение размера файла в VB.NET
Я знаю, что могу просто подсчитывать символы, но файл будет размером в несколько МБ.
Как определить размер текстового файла?Определение размера файла в VB.NET
Я знаю, что могу просто подсчитывать символы, но файл будет размером в несколько МБ.
Dim myFile As New FileInfo("file.txt")
Dim sizeInBytes As Long = myFile.Length
Спасибо за ваш ответ. Я бы не спросил, знаю ли я, что это так просто. –
Использование file
может быть опасно, так как это также название класса. Лучше закодировать его следующим образом:
Dim myFile As New FileInfo("file.txt")
Dim sizeInBytes As Long = myFile.Length
Это действительно так, но вы действительно должны придумать лучшее имя, чем 'myFile'. Это хорошая возможность написать что-то * описательное *. IntelliSense упрощает использование длинных имен. –
-1 для копирования кода в ответе перед ним. Это в значительной степени прямая копия принятого ответа. – cybermonkey
+1 потому что использование зарезервированных слов (или что-то в этом роде) - ужасная практика, и я рад, что этот комментарий остановил меня от этого. – Isaac
код из другого ответа не проверяет, правильный размер файла:
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.")
Почему первый фрагмент кода не работает? Спецификация файла отличается для двух фрагментов кода «file.txt» для первого фрагмента кода (относительная спецификация файла) и «C: \ testfile.txt» для второй (абсолютная спецификация файла). Первый зависит от текущего каталога. Не будет ли первый фрагмент кода работать, если он использует «C: \ testfile.txt» вместо «file.txt»? –
Этот ответ просто неправильный. *** Единственная причина, по которой первый фрагмент кода не будет работать, - это если у вас нет прав на чтение файла. Первый фрагмент кода - это только сокращенная версия второго, в противном случае ваш «не работает» недействителен. *** – cybermonkey
Для тех, кто ищет более короткую версию VB:
FileLen("file.txt")
https://msdn.microsoft.com/en-us/library/microsoft.visualbasic.filesystem.filelen
я нашел через Google: http://www.dotnetperls.com/file-size-vbnet –
Связанных, но C#: * [Как получить размер файла в C#?] (Http://stackoverflow.com/questions/1380839) * –