FileInfo Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 |
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 |
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 |
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. |