FileInfo.Length プロパティ

定義

現在のファイルのサイズをバイト単位で取得します。

public:
 property long Length { long get(); };
public long Length { get; }
member this.Length : int64
Public ReadOnly Property Length As Long

プロパティ値

現在のファイルのサイズ (バイト単位)。

例外

Refresh() はファイルまたはディレクトリの状態を更新することはできません。

ファイルが存在しません。

- または -

Length プロパティはディレクトリに呼び出されます。

次の例では、指定したファイルのサイズを表示します。

// The following example displays the names and sizes
// of the files in the specified directory.
using namespace System;
using namespace System::IO;
int main()
{
   
   // Make a reference to a directory.
   DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\" );
   
   // Get a reference to each file in that directory.
   array<FileInfo^>^fiArr = di->GetFiles();
   
   // Display the names and sizes of the files.
   Console::WriteLine( "The directory {0} contains the following files:", di->Name );
   System::Collections::IEnumerator^ myEnum = fiArr->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      FileInfo^ f = safe_cast<FileInfo^>(myEnum->Current);
      Console::WriteLine( "The size of {0} is {1} bytes.", f->Name, f->Length );
   }
}
//This code produces output similar to the following; 
//results may vary based on the computer/file structure/etc.:
//
//The directory c:\ contains the following files:
//The size of MyComputer.log is 274 bytes.
//The size of AUTOEXEC.BAT is 0 bytes.
//The size of boot.ini is 211 bytes.
//The size of CONFIG.SYS is 0 bytes.
//The size of hiberfil.sys is 1072775168 bytes.
//The size of IO.SYS is 0 bytes.
//The size of MASK.txt is 2700 bytes.
//The size of mfc80.dll is 1093632 bytes.
//The size of mfc80u.dll is 1079808 bytes.
//The size of MSDOS.SYS is 0 bytes.
//The size of NTDETECT.COM is 47564 bytes.
//The size of ntldr is 250032 bytes.
//The size of pagefile.sys is 1610612736 bytes.
//The size of UpdatePatch.log is 22778 bytes.
//The size of UpdatePatch.txt is 30 bytes.
//The size of wt3d.ini is 234 bytes.
// The following example displays the names and sizes
// of the files in the specified directory.
using System;
using System.IO;

public class FileLength
{
    public static void Main()
    {
        // Make a reference to a directory.
        DirectoryInfo di = new DirectoryInfo("c:\\");
        // Get a reference to each file in that directory.
        FileInfo[] fiArr = di.GetFiles();
        // Display the names and sizes of the files.
        Console.WriteLine("The directory {0} contains the following files:", di.Name);
        foreach (FileInfo f in fiArr)
            Console.WriteLine("The size of {0} is {1} bytes.", f.Name, f.Length);
    }
}
//This code produces output similar to the following;
//results may vary based on the computer/file structure/etc.:
//
//The directory c:\ contains the following files:
//The size of MyComputer.log is 274 bytes.
//The size of AUTOEXEC.BAT is 0 bytes.
//The size of boot.ini is 211 bytes.
//The size of CONFIG.SYS is 0 bytes.
//The size of hiberfil.sys is 1072775168 bytes.
//The size of IO.SYS is 0 bytes.
//The size of MASK.txt is 2700 bytes.
//The size of mfc80.dll is 1093632 bytes.
//The size of mfc80u.dll is 1079808 bytes.
//The size of MSDOS.SYS is 0 bytes.
//The size of NTDETECT.COM is 47564 bytes.
//The size of ntldr is 250032 bytes.
//The size of pagefile.sys is 1610612736 bytes.
//The size of UpdatePatch.log is 22778 bytes.
//The size of UpdatePatch.txt is 30 bytes.
//The size of wt3d.ini is 234 bytes.
' The following example displays the names and sizes
' of the files in the specified directory.
Imports System.IO

Public Class FileLength

    Public Shared Sub Main()
        ' Make a reference to a directory.
        Dim di As New DirectoryInfo("c:\")
        ' Get a reference to each file in that directory.
        Dim fiArr As FileInfo() = di.GetFiles()
        ' Display the names and sizes of the files.
        Dim f As FileInfo
        Console.WriteLine("The directory {0} contains the following files:", di.Name)
        For Each f In fiArr
            Console.WriteLine("The size of {0} is {1} bytes.", f.Name, f.Length)
        Next f
    End Sub
End Class

'This code produces output similar to the following; 
'results may vary based on the computer/file structure/etc.:
'
'The directory c:\ contains the following files:
'The size of MyComputer.log is 274 bytes.
'The size of AUTOEXEC.BAT is 0 bytes.
'The size of boot.ini is 211 bytes.
'The size of CONFIG.SYS is 0 bytes.
'The size of hiberfil.sys is 1072775168 bytes.
'The size of IO.SYS is 0 bytes.
'The size of MASK.txt is 2700 bytes.
'The size of mfc80.dll is 1093632 bytes.
'The size of mfc80u.dll is 1079808 bytes.
'The size of MSDOS.SYS is 0 bytes.
'The size of NTDETECT.COM is 47564 bytes.
'The size of ntldr is 250032 bytes.
'The size of pagefile.sys is 1610612736 bytes.
'The size of UpdatePatch.log is 22778 bytes.
'The size of UpdatePatch.txt is 30 bytes.
'The size of wt3d.ini is 234 bytes.

注釈

オブジェクトの現在のLengthインスタンスが次DirectoryInfoのいずれかのメソッドから返された場合、FileInfoプロパティの値は事前にキャッシュされます。

最新の値を取得するには、 メソッドを呼び出します Refresh

適用対象

こちらもご覧ください