2012-04-16 59 views
6

如何确定文本文件的大小?在VB.NET中确定文件大小

我知道我可以只计算字符,但文件将是几MB的大。

+1

我发现这个通过谷歌:http://www.dotnetperls.com/file-size-vbnet – 2012-04-16 15:05:03

+0

相关,但对于C#:* [你如何在C#中获取文件大小?](http://stackoverflow.com/questions/1380839)* – 2015-06-26 14:18:35

回答

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

感谢您的回答。我不会问我是否知道这很简单。 – 2012-04-27 16:29:51

1

使用file可能是危险的,因为它也是一个类的名称。 最好是如下的代码是:

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

这已经足够了,但你真的应该想出一个比'myFile'更好的名字。这是写一些*描述*的好机会。 IntelliSense使得使用长名称变得非常简单。 – 2013-07-12 21:44:11

+0

-1用于撕掉前面答案中的代码。这几乎是接受答案的直接副本。 – cybermonkey 2014-11-09 15:30:19

+3

+1,因为使用保留字(或类似的东西)是一种可怕的做法,我很高兴这个评论阻止了我这样做。 – Isaac 2015-05-01 22:53:53

-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”,那么第一个代码片段不会工作吗? – 2013-12-21 20:05:52

+0

这个答案显然是错误的。 ***第一个代码段不起作用的唯一原因是,如果您没有权限读取该文件。第一个代码片段只是第二个代码片段的缩写,进一步表明你的“不工作”无效。*** – cybermonkey 2014-11-09 15:32:42

相关问题