FileInfo Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt eigenschappen en exemplaarmethoden voor het maken, kopiëren, verwijderen, verplaatsen en openen van bestanden, en hulpmiddelen voor het maken van FileStream objecten. Deze klasse kan niet worden overgenomen.
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
- Overname
- Overname
- Kenmerken
Voorbeelden
In het volgende voorbeeld ziet u enkele van de belangrijkste leden van de FileInfo klas.
Wanneer de eigenschappen voor het eerst worden opgehaald, FileInfo roept u de Refresh methode aan en slaat u informatie over het bestand in de cache op. Bij volgende oproepen moet u bellen Refresh om de meest recente kopie van de gegevens op te halen.
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
In dit voorbeeld wordt uitvoer geproduceerd die vergelijkbaar is met het volgende.
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.
Opmerkingen
Gebruik de FileInfo klasse voor typische bewerkingen, zoals kopiëren, verplaatsen, hernoemen, maken, openen, verwijderen en toevoegen aan bestanden.
Als u meerdere bewerkingen op hetzelfde bestand uitvoert, kan het efficiënter zijn om exemplaarmethoden te gebruiken FileInfo in plaats van de bijbehorende statische methoden van de File klasse, omdat een beveiligingscontrole niet altijd nodig is.
Veel van de FileInfo methoden retourneren andere I/O-typen wanneer u bestanden maakt of opent. U kunt deze andere typen gebruiken om een bestand verder te bewerken. Zie voor meer informatie specifieke FileInfo leden zoals Open, OpenRead, OpenText, of CreateTextCreate.
Standaard wordt volledige lees-/schrijftoegang tot nieuwe bestanden verleend aan alle gebruikers.
In de volgende tabel worden de opsommingen beschreven die worden gebruikt om het gedrag van verschillende FileInfo methoden aan te passen.
| Enumeration | Description |
|---|---|
| FileAccess | Hiermee geeft u lees- en schrijftoegang tot een bestand. |
| FileShare | Hiermee geeft u het toegangsniveau op dat is toegestaan voor een bestand dat al in gebruik is. |
| FileMode | Hiermee geeft u op of de inhoud van een bestaand bestand behouden of overschreven wordt en of aanvragen voor het maken van een bestaand bestand een uitzondering veroorzaken. |
Note
In leden die een pad als invoertekenreeks accepteren, moet dat pad goed zijn gevormd of wordt er een uitzondering gegenereerd. Als een pad bijvoorbeeld volledig is gekwalificeerd, maar begint met een spatie, wordt het pad niet ingekort in methoden van de klasse. Het pad is daarom ongeldig en er wordt een uitzondering gegenereerd. Op dezelfde manier kan een pad of een combinatie van paden niet twee keer volledig worden gekwalificeerd. Met 'c:\temp c:\windows' wordt in de meeste gevallen ook een uitzondering gegenereerd. Zorg ervoor dat uw paden goed zijn opgemaakt wanneer u methoden gebruikt die een padtekenreeks accepteren.
In leden die een pad accepteren, kan het pad verwijzen naar een bestand of alleen een map. Het opgegeven pad kan ook verwijzen naar een relatief pad of een UNC-pad (Universal Naming Convention) voor een server en sharenaam. Zo zijn alle volgende acceptabele paden:
"c:\\MyDir\\MyFile.txt" in C# of "c:\MyDir\MyFile.txt" in Visual Basic.
"c:\\MyDir" in C# of "c:\MyDir" in Visual Basic.
"MyDir\\MySubdir" in C# of "MyDir\MySubDir" in Visual Basic.
"\\\\MyServer\\MyShare" in C# of "\\MyServer\MyShare" in Visual Basic.
De FileInfo klasse bevat de volgende eigenschappen waarmee u informatie over een bestand kunt ophalen. Zie de eigenschappenpagina's voor een voorbeeld van het gebruik van elke eigenschap.
Met de Directory eigenschap wordt een object opgehaald dat de bovenliggende map van een bestand vertegenwoordigt.
De DirectoryName eigenschap haalt het volledige pad van de bovenliggende map van een bestand op.
De Exists eigenschap controleert op de aanwezigheid van een bestand voordat het erop wordt uitgevoerd.
Met de IsReadOnly eigenschap wordt een waarde opgehaald of ingesteld die aangeeft of een bestand kan worden gewijzigd.
Hiermee Length wordt de grootte van een bestand opgehaald.
De Name naam van een bestand wordt opgehaald.
Constructors
| Name | Description |
|---|---|
| FileInfo(String) |
Initialiseert een nieuw exemplaar van de FileInfo klasse, dat fungeert als een wrapper voor een bestandspad. |
Velden
| Name | Description |
|---|---|
| FullPath |
Vertegenwoordigt het volledig gekwalificeerde pad van de map of het bestand. (Overgenomen van FileSystemInfo) |
| OriginalPath |
Het pad dat oorspronkelijk door de gebruiker is opgegeven, ongeacht of dit relatief of absoluut is. (Overgenomen van FileSystemInfo) |
Eigenschappen
| Name | Description |
|---|---|
| Attributes |
Hiermee worden de kenmerken voor het huidige bestand of de huidige map opgehaald of ingesteld. (Overgenomen van FileSystemInfo) |
| CreationTime |
Hiermee haalt u de aanmaaktijd van het huidige bestand of de huidige map op of stelt u deze in. (Overgenomen van FileSystemInfo) |
| CreationTimeUtc |
Hiermee haalt u de aanmaaktijd, in gecoördineerde universele tijd (UTC), van het huidige bestand of de huidige map op. (Overgenomen van FileSystemInfo) |
| Directory |
Hiermee haalt u een exemplaar van de bovenliggende map op. |
| DirectoryName |
Hiermee haalt u een tekenreeks op die het volledige pad van de map vertegenwoordigt. |
| Exists |
Hiermee wordt een waarde opgehaald die aangeeft of er een bestand bestaat. |
| Extension |
Hiermee haalt u het extensiegedeelte van de bestandsnaam op, inclusief de voorlooppunt |
| FullName |
Hiermee haalt u het volledige pad van de map of het bestand op. (Overgenomen van FileSystemInfo) |
| IsReadOnly |
Hiermee wordt een waarde opgehaald of ingesteld die bepaalt of het huidige bestand alleen-lezen is. |
| LastAccessTime |
Hiermee wordt de tijd opgehaald of ingesteld waarop het huidige bestand of de huidige map voor het laatst is geopend. (Overgenomen van FileSystemInfo) |
| LastAccessTimeUtc |
Hiermee wordt de tijd opgehaald of ingesteld, in gecoördineerde universele tijd (UTC), dat het huidige bestand of de huidige map voor het laatst is geopend. (Overgenomen van FileSystemInfo) |
| LastWriteTime |
Hiermee wordt de tijd opgehaald of ingesteld waarop het huidige bestand of de huidige map voor het laatst is geschreven. (Overgenomen van FileSystemInfo) |
| LastWriteTimeUtc |
Hiermee wordt de tijd opgehaald of ingesteld, in gecoördineerde universele tijd (UTC), wanneer het huidige bestand of de huidige map voor het laatst naar is geschreven. (Overgenomen van FileSystemInfo) |
| Length |
Hiermee haalt u de grootte, in bytes, van het huidige bestand op. |
| Name |
Hiermee haalt u de naam van het bestand op. |
Methoden
| Name | Description |
|---|---|
| AppendText() |
Hiermee maakt u een StreamWriter bestand dat tekst toevoegt aan het bestand dat wordt vertegenwoordigd door dit exemplaar van de FileInfo. |
| CopyTo(String, Boolean) |
Kopieert een bestaand bestand naar een nieuw bestand, waardoor een bestaand bestand kan worden overschreven. |
| CopyTo(String) |
Hiermee kopieert u een bestaand bestand naar een nieuw bestand en wordt de toewijzing van het overschrijven van een bestaand bestand ongedaan gemaakt. |
| Create() |
Hiermee maakt u een bestand. |
| CreateObjRef(Type) |
Hiermee maakt u een object dat alle relevante informatie bevat die nodig is om een proxy te genereren die wordt gebruikt om te communiceren met een extern object. (Overgenomen van MarshalByRefObject) |
| CreateText() |
Hiermee maakt u een StreamWriter bestand dat een nieuw tekstbestand schrijft. |
| Decrypt() |
Ontsleutelt een bestand dat is versleuteld door het huidige account met behulp van de Encrypt() methode. |
| Delete() |
Hiermee verwijdert u een bestand definitief. |
| Encrypt() |
Hiermee versleutelt u een bestand zodat alleen het account dat wordt gebruikt om het bestand te versleutelen, het kan ontsleutelen. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetAccessControl() |
Hiermee haalt u een FileSecurity object op dat de ACL-vermeldingen (Access Control List) inkapselt voor het bestand dat wordt beschreven door het huidige FileInfo object. |
| GetAccessControl(AccessControlSections) |
Hiermee wordt een FileSecurity object opgehaald dat het opgegeven type ACL-vermeldingen (Access Control List) inkapselt voor het bestand dat wordt beschreven door het huidige FileInfo object. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetLifetimeService() |
Hiermee haalt u het huidige levensduurserviceobject op waarmee het levensduurbeleid voor dit exemplaar wordt beheerd. (Overgenomen van MarshalByRefObject) |
| GetObjectData(SerializationInfo, StreamingContext) |
Hiermee stelt u het SerializationInfo object in met de bestandsnaam en aanvullende informatie over uitzonderingen. (Overgenomen van FileSystemInfo) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| InitializeLifetimeService() |
Hiermee haalt u een levensduurserviceobject op om het levensduurbeleid voor dit exemplaar te beheren. (Overgenomen van MarshalByRefObject) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| MemberwiseClone(Boolean) |
Hiermee maakt u een ondiepe kopie van het huidige MarshalByRefObject object. (Overgenomen van MarshalByRefObject) |
| MoveTo(String) |
Hiermee verplaatst u een opgegeven bestand naar een nieuwe locatie, met de optie om een nieuwe bestandsnaam op te geven. |
| Open(FileMode, FileAccess, FileShare) |
Hiermee opent u een bestand in de opgegeven modus met lees-, schrijf- of lees-/schrijftoegang en de opgegeven optie voor delen. |
| Open(FileMode, FileAccess) |
Hiermee opent u een bestand in de opgegeven modus met lees-, schrijf- of lees-/schrijftoegang. |
| Open(FileMode) |
Hiermee opent u een bestand in de opgegeven modus. |
| OpenRead() |
Hiermee maakt u een alleen-lezen FileStream. |
| OpenText() |
Hiermee maakt u een StreamReader met UTF8-codering die wordt gelezen uit een bestaand tekstbestand. |
| OpenWrite() |
Hiermee maakt u een alleen-schrijven FileStream. |
| Refresh() |
Hiermee wordt de status van het object vernieuwd. (Overgenomen van FileSystemInfo) |
| Replace(String, String, Boolean) |
Hiermee vervangt u de inhoud van een opgegeven bestand door het bestand dat wordt beschreven door het huidige FileInfo object, verwijdert u het oorspronkelijke bestand en maakt u een back-up van het vervangen bestand. Hiermee geeft u ook op of samenvoegfouten moeten worden genegeerd. |
| Replace(String, String) |
Vervangt de inhoud van een opgegeven bestand door het bestand dat wordt beschreven door het huidige FileInfo object, waarbij het oorspronkelijke bestand wordt verwijderd en een back-up van het vervangen bestand wordt gemaakt. |
| SetAccessControl(FileSecurity) |
Hiermee past u ACL-vermeldingen (Access Control List) toe die door een FileSecurity object worden beschreven in het bestand dat door het huidige FileInfo object wordt beschreven. |
| ToString() |
Retourneert het oorspronkelijke pad dat is doorgegeven aan de FileInfo constructor. Gebruik de FullName of Name eigenschap voor het volledige pad of de bestandsnaam. |