FileInfo Kelas

Definisi

Menyediakan properti dan metode instans untuk pembuatan, penyalinan, penghapusan, pemindahan, dan pembukaan file, dan membantu dalam pembuatan FileStream objek. Kelas ini tidak dapat diwariskan.

public ref class FileInfo sealed : System::IO::FileSystemInfo
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
    inherit FileSystemInfo
[<System.Serializable>]
type FileInfo = class
    inherit FileSystemInfo
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileInfo = class
    inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
Warisan
Warisan
Atribut

Contoh

Contoh berikut menunjukkan beberapa anggota FileInfo utama kelas.

Ketika properti pertama kali diambil, FileInfo memanggil Refresh metode dan cache informasi tentang file. Pada panggilan berikutnya, Anda harus memanggil Refresh untuk mendapatkan salinan informasi terbaru.

using namespace System;
using namespace System::IO;

int main()
{
   String^ path = Path::GetTempFileName();
   FileInfo^ fi1 = gcnew FileInfo( path );
   //Create a file to write to.
   StreamWriter^ sw = fi1->CreateText();
   try
   {
     sw->WriteLine( "Hello" );
     sw->WriteLine( "And" );
     sw->WriteLine( "Welcome" );
   }
   finally
   {
     if ( sw )
        delete (IDisposable^)sw;
   }

   //Open the file to read from.
   StreamReader^ sr = fi1->OpenText();
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
         delete (IDisposable^)sr;
   }

   try
   {
      String^ path2 = Path::GetTempFileName();
      FileInfo^ fi2 = gcnew FileInfo( path2 );

      //Ensure that the target does not exist.
      fi2->Delete();

      //Copy the file.
      fi1->CopyTo( path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );

      //Delete the newly created file.
      fi2->Delete();
      Console::WriteLine( "{0} was successfully deleted.", path2 );
   }
   catch ( Exception^ e )
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
using System;
using System.IO;

class Test
{
    
    public static void Main()
    {
        string path = Path.GetTempFileName();
        var fi1 = new FileInfo(path);

        // Create a file to write to.
        using (StreamWriter sw = fi1.CreateText())
        {
            sw.WriteLine("Hello");
            sw.WriteLine("And");
            sw.WriteLine("Welcome");
        }	

        // Open the file to read from.
        using (StreamReader sr = fi1.OpenText())
        {
            var s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }

        try
        {
            string path2 = Path.GetTempFileName();
            var fi2 = new FileInfo(path2);

            // Ensure that the target does not exist.
            fi2.Delete();

            // Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine($"{path} was copied to {path2}.");

            // Delete the newly created file.
            fi2.Delete();
            Console.WriteLine($"{path2} was successfully deleted.");
        }
        catch (Exception e)
        {
            Console.WriteLine($"The process failed: {e.ToString()}");
        }
    }
}
Imports System.IO

Public Class Test

    Public Shared Sub Main()
        Dim path1 As String = Path.GetTempFileName()
        Dim path2 As String = Path.GetTempFileName()
        Dim fi As New FileInfo(path1)

        ' Create a file to write to.
        Using sw As StreamWriter = fi.CreateText()
            sw.WriteLine("Hello")
            sw.WriteLine("And")
            sw.WriteLine("Welcome")
        End Using

        Try
            ' Open the file to read from.
            Using sr As StreamReader = fi.OpenText()
                Do While sr.Peek() >= 0
                    Console.WriteLine(sr.ReadLine())
                Loop
            End Using

            Dim fi2 As New FileInfo(path2)

            ' Ensure that the target does not exist.
            fi2.Delete()

            ' Copy the file.
            fi.CopyTo(path2)
            Console.WriteLine($"{path1} was copied to {path2}.")

            ' Delete the newly created file.
            fi2.Delete()
            Console.WriteLine($"{path2} was successfully deleted.")

        Catch e As Exception
            Console.WriteLine($"The process failed: {e.ToString()}.")
        End Try
    End Sub
End Class

Contoh ini menghasilkan output yang mirip dengan yang berikut ini.

Hello
And
Welcome
C:\Users\userName\AppData\Local\Temp\tmp70AB.tmp was copied to C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp.
C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp was successfully deleted.

Keterangan

FileInfo Gunakan kelas untuk operasi umum seperti menyalin, memindahkan, mengganti nama, membuat, membuka, menghapus, dan menambahkan ke file.

Jika Anda melakukan beberapa operasi pada file yang sama, mungkin lebih efisien untuk menggunakan FileInfo metode instans alih-alih metode File statis kelas yang sesuai, karena pemeriksaan keamanan tidak akan selalu diperlukan.

Banyak metode mengembalikan FileInfo jenis I/O lainnya saat Anda membuat atau membuka file. Anda dapat menggunakan jenis lain ini untuk memanipulasi file lebih lanjut. Untuk informasi selengkapnya, lihat anggota tertentu FileInfo seperti , , OpenRead, OpenTextCreateText, atau CreateOpen.

Secara default, akses baca/tulis penuh ke file baru diberikan kepada semua pengguna.

Tabel berikut menjelaskan enumerasi yang digunakan untuk menyesuaikan perilaku berbagai FileInfo metode.

Enumeration Deskripsi
FileAccess Menentukan akses baca dan tulis ke file.
FileShare Menentukan tingkat akses yang diizinkan untuk file yang sudah digunakan.
FileMode Menentukan apakah konten file yang ada dipertahankan atau ditimpa, dan apakah permintaan untuk membuat file yang ada menyebabkan pengecualian.

Catatan

Dalam anggota yang menerima jalur sebagai string input, jalur tersebut harus terbentuk dengan baik atau pengecualian dinaikkan. Misalnya, jika jalur sepenuhnya memenuhi syarat tetapi dimulai dengan spasi, jalur tidak dipangkas dalam metode kelas. Oleh karena itu, jalurnya salah bentuk dan pengecualian dinaikkan. Demikian pula, jalur atau kombinasi jalur tidak dapat sepenuhnya memenuhi syarat dua kali. Misalnya, "c:\temp c:\windows" juga menimbulkan pengecualian dalam banyak kasus. Pastikan jalur Anda terbentuk dengan baik saat menggunakan metode yang menerima string jalur.

Di anggota yang menerima jalur, jalur dapat merujuk ke file atau hanya direktori. Jalur yang ditentukan juga dapat merujuk ke jalur relatif atau jalur Universal Naming Convention (UNC) untuk server dan nama berbagi. Misalnya, semua berikut ini adalah jalur yang dapat diterima:

  • "c:\\MyDir\\MyFile.txt" di C#, atau "c:\MyDir\MyFile.txt" di Visual Basic.

  • "c:\\MyDir" di C#, atau "c:\MyDir" di Visual Basic.

  • "MyDir\\MySubdir" di C#, atau "MyDir\MySubDir" di Visual Basic.

  • "\\\MyServer\\MyShare" di C#, atau "\\MyServer\MyShare" di Visual Basic.

Kelas FileInfo ini menyediakan properti berikut yang memungkinkan Anda mengambil informasi tentang file. Untuk contoh cara menggunakan setiap properti, lihat halaman properti.

  • Properti Directory mengambil objek yang mewakili direktori induk file.

  • Properti DirectoryName mengambil jalur lengkap direktori induk file.

  • Properti Exists memeriksa keberadaan file sebelum mengoperasikannya.

  • Properti IsReadOnly mengambil atau menetapkan nilai yang menentukan apakah file dapat dimodifikasi.

  • mengambil Length ukuran file.

  • mengambil Name nama file.

Konstruktor

FileInfo(String)

Menginisialisasi instans FileInfo baru kelas, yang bertindak sebagai pembungkus untuk jalur file.

Bidang

FullPath

Mewakili jalur direktori atau file yang sepenuhnya memenuhi syarat.

(Diperoleh dari FileSystemInfo)
OriginalPath

Jalur awalnya ditentukan oleh pengguna, baik relatif atau absolut.

(Diperoleh dari FileSystemInfo)

Properti

Attributes

Mendapatkan atau mengatur atribut untuk file atau direktori saat ini.

(Diperoleh dari FileSystemInfo)
CreationTime

Mendapatkan atau mengatur waktu pembuatan file atau direktori saat ini.

(Diperoleh dari FileSystemInfo)
CreationTimeUtc

Mendapatkan atau mengatur waktu pembuatan, dalam waktu universal terkoordinasi (UTC), dari file atau direktori saat ini.

(Diperoleh dari FileSystemInfo)
Directory

Mendapatkan instans direktori induk.

DirectoryName

Mendapatkan string yang mewakili jalur lengkap direktori.

Exists

Mendapatkan nilai yang menunjukkan apakah ada file.

Extension

Mendapatkan bagian ekstensi dari nama file, termasuk titik . di depan bahkan jika itu adalah seluruh nama file, atau string kosong jika tidak ada ekstensi.

(Diperoleh dari FileSystemInfo)
FullName

Mendapatkan jalur lengkap direktori atau file.

(Diperoleh dari FileSystemInfo)
IsReadOnly

Mendapatkan atau menetapkan nilai yang menentukan apakah file saat ini hanya dibaca.

LastAccessTime

Mendapatkan atau mengatur waktu file atau direktori saat ini terakhir diakses.

(Diperoleh dari FileSystemInfo)
LastAccessTimeUtc

Mendapatkan atau mengatur waktu, dalam waktu universal terkoordinasi (UTC), bahwa file atau direktori saat ini terakhir diakses.

(Diperoleh dari FileSystemInfo)
LastWriteTime

Mendapatkan atau mengatur waktu ketika file atau direktori saat ini terakhir ditulis.

(Diperoleh dari FileSystemInfo)
LastWriteTimeUtc

Mendapatkan atau mengatur waktu, dalam waktu universal terkoordinasi (UTC), ketika file atau direktori saat ini terakhir ditulis.

(Diperoleh dari FileSystemInfo)
Length

Mendapatkan ukuran, dalam byte, dari file saat ini.

LinkTarget

Mendapatkan jalur target tautan yang terletak di FullName, atau null jika instans ini FileSystemInfo tidak mewakili tautan.

(Diperoleh dari FileSystemInfo)
Name

Mendapatkan nama file.

UnixFileMode

Mendapatkan atau mengatur mode file Unix untuk file atau direktori saat ini.

(Diperoleh dari FileSystemInfo)

Metode

AppendText()

StreamWriter Membuat yang menambahkan teks ke file yang diwakili oleh instans ini dari FileInfo.

CopyTo(String)

Menyalin file yang ada ke file baru, melarang penimpaan file yang ada.

CopyTo(String, Boolean)

Menyalin file yang sudah ada ke file baru, memungkinkan penimpaan file yang ada.

Create()

Membuat file.

CreateAsSymbolicLink(String)

Membuat tautan simbolis yang terletak di FullName yang menunjuk ke yang ditentukan pathToTarget.

(Diperoleh dari FileSystemInfo)
CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
CreateText()

Membuat yang StreamWriter menulis file teks baru.

Decrypt()

Mendekripsi file yang dienkripsi oleh akun saat ini menggunakan Encrypt() metode .

Delete()

Menghapus file secara permanen.

Encrypt()

Mengenkripsi file sehingga hanya akun yang digunakan untuk mengenkripsi file yang dapat mendekripsinya.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetAccessControl()

FileSecurity Mendapatkan objek yang merangkum entri daftar kontrol akses (ACL) untuk file yang dijelaskan oleh objek saat iniFileInfo.

GetAccessControl(AccessControlSections)

FileSecurity Mendapatkan objek yang merangkum jenis entri daftar kontrol akses (ACL) yang ditentukan untuk file yang dijelaskan oleh objek saat iniFileInfo.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Kedaluwarsa.

SerializationInfo Mengatur objek dengan nama file dan informasi pengecualian tambahan.

(Diperoleh dari FileSystemInfo)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
MoveTo(String)

Memindahkan file tertentu ke lokasi baru, menyediakan opsi untuk menentukan nama file baru.

MoveTo(String, Boolean)

Memindahkan file tertentu ke lokasi baru, menyediakan opsi untuk menentukan nama file baru dan menimpa file tujuan jika sudah ada.

Open(FileMode)

Membuka file dalam mode yang ditentukan.

Open(FileMode, FileAccess)

Membuka file dalam mode yang ditentukan dengan akses baca, tulis, atau baca/tulis.

Open(FileMode, FileAccess, FileShare)

Membuka file dalam mode yang ditentukan dengan akses baca, tulis, atau baca/tulis dan opsi berbagi yang ditentukan.

Open(FileStreamOptions)

Menginisialisasi instans FileStream baru kelas dengan mode pembuatan yang ditentukan, izin baca/tulis dan berbagi, akses fileStream lain dapat memiliki ke file yang sama, ukuran buffer, opsi file tambahan, dan ukuran alokasi.

OpenRead()

Membuat baca-saja FileStream.

OpenText()

StreamReader Membuat dengan pengodean UTF8 yang membaca dari file teks yang ada.

OpenWrite()

Membuat tulis-saja FileStream.

Refresh()

Menyegarkan status objek.

(Diperoleh dari FileSystemInfo)
Replace(String, String)

Mengganti isi file tertentu dengan file yang dijelaskan oleh objek saat ini FileInfo , menghapus file asli, dan membuat cadangan file yang diganti.

Replace(String, String, Boolean)

Mengganti isi file tertentu dengan file yang dijelaskan oleh objek saat ini FileInfo , menghapus file asli, dan membuat cadangan file yang diganti. Juga menentukan apakah akan mengabaikan kesalahan penggabungan.

ResolveLinkTarget(Boolean)

Mendapatkan target tautan yang ditentukan.

(Diperoleh dari FileSystemInfo)
SetAccessControl(FileSecurity)

Menerapkan entri daftar kontrol akses (ACL) yang dijelaskan oleh objek ke file yang FileSecurity dijelaskan oleh objek saat ini FileInfo .

ToString()

Mengembalikan jalur asli yang diteruskan ke FileInfo konstruktor. FullName Gunakan properti atau Name untuk jalur lengkap atau nama file.

ToString()

Mengembalikan jalur asli. FullName Gunakan properti atau Name untuk jalur lengkap atau nama file/direktori.

(Diperoleh dari FileSystemInfo)

Metode Ekstensi

Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

Membuat aliran file baru, memastikannya dibuat dengan properti dan pengaturan keamanan yang ditentukan.

GetAccessControl(FileInfo)

Mengembalikan informasi keamanan file.

GetAccessControl(FileInfo, AccessControlSections)

Mengembalikan informasi keamanan file.

SetAccessControl(FileInfo, FileSecurity)

Mengubah atribut keamanan dari file yang ada.

Berlaku untuk

Lihat juga