2012-04-16 39 views
6

Làm cách nào để xác định kích thước của tệp văn bản?Xác định kích thước tập tin trong VB.NET

Tôi biết rằng tôi chỉ có thể đếm các ký tự, nhưng tệp sẽ có kích thước lớn hơn một vài MB.

+1

Tôi thấy điều này thông qua Google: http://www.dotnetperls.com/file-size-vbnet –

+0

liên quan, nhưng đối với C#: * [Làm thế nào để bạn có được kích thước tập tin trong C#?] (Http://stackoverflow.com/questions/1380839) * –

Trả lời

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

Cảm ơn câu trả lời của bạn. Tôi sẽ không hỏi nếu tôi đã biết nó rất đơn giản. –

1

Việc sử dụng file có thể nguy hiểm vì nó cũng là tên của một lớp học. Nó là tốt hơn để mã nó như sau:

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

Điều này là đủ, nhưng bạn thực sự nên đưa ra một cái tên tốt hơn 'myFile'. Đó là một cơ hội tốt để viết một cái gì đó * mô tả *. IntelliSense sử dụng tên dài đủ dễ dàng. –

+0

-1 để trích xuất mã trong câu trả lời trước khi nó. Đây là một bản sao trực tiếp của câu trả lời được chấp nhận. – cybermonkey

+3

+1 vì sử dụng các từ dành riêng (hoặc bất kỳ thứ gì giống như nó) là một thực tế khủng khiếp và tôi vui vì nhận xét này đã ngăn tôi làm như vậy. – Isaac

-3

Mã từ câu trả lời khác không kiểm tra đúng kích thước của tập tin:

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

Hãy thử mã này thay vì

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

Nó là từ How to: Determine a File's Size in Visual Basic (MSDN).

+0

Tại sao đoạn mã đầu tiên không hoạt động? Đặc tả tệp khác nhau cho hai đoạn mã, "file.txt" cho đoạn mã đầu tiên (đặc tả tệp tương đối) và "C: \ testfile.txt" cho tệp thứ hai (đặc tả tệp tuyệt đối). Người đầu tiên phụ thuộc vào thư mục hiện tại. Đoạn mã đầu tiên sẽ không hoạt động nếu nó được sử dụng "C: \ testfile.txt" thay vì "file.txt"? –

+0

Câu trả lời này chỉ đơn giản là sai. *** Lý do duy nhất đoạn mã đầu tiên sẽ không hoạt động là nếu bạn không có quyền đọc tệp. Đoạn mã đầu tiên chỉ là một phiên bản rút gọn của phần thứ hai, tiếp tục hiển thị 'không hoạt động' của bạn không hợp lệ .. *** – cybermonkey

Các vấn đề liên quan