Bagikan melalui


FileInfo Kelas

Definisi

Menyediakan properti dan metode instans untuk pembuatan, penyalinan, penghapusan, pemindahan, dan pembukaan file, dan membantu dalam pembuatan objek FileStream. 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 utama kelas FileInfo.

Ketika properti pertama kali diambil, FileInfo memanggil metode Refresh dan informasi cache 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

Gunakan kelas FileInfo 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 metode instans FileInfo alih-alih metode statis yang sesuai dari kelas File, karena pemeriksaan keamanan tidak akan selalu diperlukan.

Banyak metode FileInfo mengembalikan 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 FileInfo tertentu seperti Open, OpenRead, OpenText, CreateText, atau Create.

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

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

Enumerasi 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.

Nota

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, jalur cacat 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 berbagi nama. Misalnya, semua yang 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 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 beroperasi di dalamnya.

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

  • Length mengambil ukuran file.

  • Name mengambil nama file.

Konstruktor

FileInfo(String)

Menginisialisasi instans baru kelas FileInfo, 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 . terkemuka meskipun 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 FileSystemInfo ini 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()

Membuat StreamWriter yang menambahkan teks ke file yang diwakili oleh instans FileInfoini.

CopyTo(String)

Menyalin file yang sudah 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 pathToTargetyang ditentukan.

(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 StreamWriter yang menulis file teks baru.

Decrypt()

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

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

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

GetAccessControl(AccessControlSections)

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

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.

Mengatur objek SerializationInfo dengan nama file dan informasi pengecualian tambahan.

(Diperoleh dari FileSystemInfo)
GetType()

Mendapatkan Type instans 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 Objectsaat ini.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek MarshalByRefObject saat ini.

(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 baru kelas FileStream 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 FileStreambaca-saja .

OpenText()

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

OpenWrite()

Membuat FileStreamtulis-saja .

Refresh()

Menyegarkan status objek.

(Diperoleh dari FileSystemInfo)
Replace(String, String)

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

Replace(String, String, Boolean)

Mengganti konten file tertentu dengan file yang dijelaskan oleh objek FileInfo saat ini, 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 FileSecurity ke file yang dijelaskan oleh objek FileInfo saat ini.

ToString()

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

ToString()

Mengembalikan jalur asli. Gunakan properti FullName 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 file yang ada.

Berlaku untuk

Lihat juga