【问题标题】:Determining file size in VB.NET在 VB.NET 中确定文件大小
【发布时间】:2012-04-16 14:02:26
【问题描述】:

如何确定文本文件的大小?

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

【问题讨论】:

标签: .net vb.net file text


【解决方案1】:
Dim myFile As New FileInfo("file.txt")
Dim sizeInBytes As Long = myFile.Length

【讨论】:

  • 感谢您的回答。我不会问我是否知道它是如此简单。
【解决方案2】:

对于任何寻找更短的 VB 版本的人:

FileLen("file.txt")

https://msdn.microsoft.com/en-us/library/microsoft.visualbasic.filesystem.filelen

【讨论】:

    【解决方案3】:

    file 的使用可能很危险,因为它也是一个类的名称。 最好这样编码:

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

    【讨论】:

    • 这是真的,但你真的应该想出一个比myFile 更好的名字。这是写描述性的好机会。 IntelliSense 使使用长名称变得非常容易。
    • -1 用于扯掉前面答案中的代码。这几乎是已接受答案的直接副本。
    • +1 因为使用保留字(或类似的东西)是一种糟糕的做法,我很高兴这条评论阻止了我这样做。
    • 这应该是对上一个答案的编辑或评论,而不是单独的答案。 -1
    【解决方案4】:

    其他答案中的代码未检查文件的正确大小:

    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)。

    【讨论】:

    • 为什么第一个代码 sn -p 不起作用?两个代码 sn-ps 的文件规范不同,第一个代码 sn-p(相对文件规范)的“file.txt”和第二个代码(绝对文件规范)的“C:\testfile.txt”。第一个取决于当前目录。如果第一个代码 sn-p 使用“C:\testfile.txt”而不是“file.txt”,它不会工作吗?
    • 这个答案是完全错误的。 第一个代码 sn-p 不起作用的唯一原因是您没有读取文件的权限。第一个代码 sn-p 只是第二个代码的缩短版本,进一步使您的“不起作用”无效..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-11
    相关资源
    最近更新 更多