2012-04-16 5 views
6

テキストファイルのサイズはどのようにして決められますか?VB.NETでのファイルサイズの決定

私は文字を数えることができると知っていますが、ファイルのサイズは数MBです。

+1

私はグーグル経由でこれを見つけた: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)です。短いVBのバージョンを探している人のために

+0

最初のコードスニペットが機能しないのはなぜですか? 2つのコードスニペットのファイル指定は、最初のコードスニペット(相対ファイル指定)の場合は "file.txt"で、2番目のファイル指定の場合は "C:¥testfile.txt"と異なります。最初のものは現在のディレクトリに依存します。 "file.txt"の代わりに "C:\ testfile.txt"を使用した場合、最初のコードスニペットは機能しませんか? –

+0

この回答は間違っています。 ***最初のコードスニペットが機能しない唯一の理由は、ファイルを読み取る権限がない場合です。最初のコードスニペットは2番目のコードの短縮バージョンです。さらに 'not does work'が無効になります。*** – cybermonkey

関連する問題