FileInfo.IsReadOnly Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví hodnotu, která určuje, zda aktuální soubor je jen pro čtení.
public:
property bool IsReadOnly { bool get(); void set(bool value); };
public bool IsReadOnly { get; set; }
member this.IsReadOnly : bool with get, set
Public Property IsReadOnly As Boolean
Hodnota vlastnosti
true
pokud je aktuální soubor jen pro čtení nebo nebyl nalezen; v opačném případě . false
Výjimky
Při pokusu o nastavení vlastnosti IsReadOnly nebyl nalezen soubor popsaný aktuálním FileInfo objektem. (Všimněte si, že získání této vlastnosti pro neexistující soubor nevyvolá výjimku, ale vrátí true
.)
Při otevírání souboru došlo ke vstupně-výstupní chybě.
Tato operace není na aktuální platformě podporovaná.
-nebo-
Volající nemá požadované oprávnění.
Uživatel nemá oprávnění k zápisu, ale pokusil se nastavit tuto vlastnost na false
.
Příklady
Následující příklad vytvoří dočasný soubor, pomocí IsReadOnly vlastnosti nejprve zkontroluje a nastaví jeho stav jen pro čtení a nakonec ho označí jako pro čtení a zápis, aby se odstranil.
using namespace System;
using namespace System::IO;
int main()
{
// Create a temporary file.
String^ filePath = Path::GetTempFileName();
Console::WriteLine("Created a temp file at '{0}.", filePath);
// Create a new FileInfo object.
FileInfo^ fInfo = gcnew FileInfo(filePath);
// Get the read-only value for a file.
bool isReadOnly = fInfo->IsReadOnly;
// Display whether the file is read-only.
Console::WriteLine("The file read-only value for '{0}' is {1}.", fInfo->Name, isReadOnly);
// Set the file to read-only.
Console::WriteLine("Setting the read-only value for '{0}' to true.", fInfo->Name);
fInfo->IsReadOnly = true;
// Get the read-only value for a file.
isReadOnly = fInfo->IsReadOnly;
// Display that the file is now read-only.
Console::WriteLine("The file read-only value for '{0}' is {1}.", fInfo->Name, isReadOnly);
// Make the file mutable again so it can be deleted.
fInfo->IsReadOnly = false;
// Delete the temporary file.
fInfo->Delete();
return 0;
};
// This code produces output similar to the following,
// though results may vary based on the computer, file structure, etc.:
//
// Created a temp file at 'C:\Users\UserName\AppData\Local\Temp\tmpB438.tmp'.
// The file read-only value for 'tmpB438.tmp' is False.
// Setting the read-only value for 'tmpB438.tmp' to true.
// The file read-only value for 'tmpB438.tmp' is True.
//
using System;
using System.IO;
public class FileExample
{
public static void Main()
{
// Create a temporary file.
string filePath = Path.GetTempFileName();
Console.WriteLine($"Created a temp file at '{filePath}'.");
// Create a new FileInfo object.
FileInfo fInfo = new FileInfo(filePath);
// Get the read-only value for a file.
bool isReadOnly = fInfo.IsReadOnly;
// Display whether the file is read-only.
Console.WriteLine($"The file read-only value for '{fInfo.Name}' is {isReadOnly}.");
// Set the file to read-only.
Console.WriteLine($"Setting the read-only value for '{fInfo.Name}' to true.");
fInfo.IsReadOnly = true;
// Get the read-only value for a file.
isReadOnly = fInfo.IsReadOnly;
// Display that the file is now read-only.
Console.WriteLine($"The file read-only value for '{fInfo.Name}' is {isReadOnly}.");
// Make the file mutable again so it can be deleted.
fInfo.IsReadOnly = false;
// Delete the temporary file.
fInfo.Delete();
}
}
// This code produces output similar to the following,
// though results may vary based on the computer, file structure, etc.:
//
// Created a temp file at 'C:\Users\UserName\AppData\Local\Temp\tmpB438.tmp'.
// The file read-only value for 'tmpB438.tmp' is False.
// Setting the read-only value for 'tmpB438.tmp' to true.
// The file read-only value for 'tmpB438.tmp' is True.
//
Imports System.IO
Module FileExample
Sub Main()
' Create a temporary file.
Dim filePath As String = Path.GetTempFileName()
Console.WriteLine($"Created a temp file at '{filePath}'.")
' Create a new FileInfo object.
Dim fInfo As New FileInfo(filePath)
' Get the read-only value for a file.
Dim isReadOnly As Boolean = fInfo.IsReadOnly
' Display whether the file is read-only.
Console.WriteLine($"The file read-only value for '{fInfo.Name}' is {isReadOnly}.")
' Set the file to read-only.
Console.WriteLine($"Setting the read-only value for '{fInfo.Name}' to true.")
fInfo.IsReadOnly = True
' Get the read-only value for a file.
isReadOnly = fInfo.IsReadOnly
' Display that the file is now read-only.
Console.WriteLine($"The file read-only value for '{fInfo.Name}' is {isReadOnly}.")
' Make the file mutable again so it can be deleted.
fInfo.IsReadOnly = False
' Delete the temporary file.
fInfo.Delete()
End Sub
End Module
' This code produces output similar to the following,
' though results may vary based on the computer, file structure, etc.:
'
' Created a temp file at 'C:\Users\UserName\AppData\Local\Temp\tmpB438.tmp'.
' The file read-only value for 'tmpB438.tmp' is False.
' Setting the read-only value for 'tmpB438.tmp' to true.
' The file read-only value for 'tmpB438.tmp' is True.
'
Poznámky
Pomocí vlastnosti IsReadOnly můžete rychle určit nebo změnit, jestli je aktuální soubor jen pro čtení.
Pokud aktuální soubor neexistuje, získání této vlastnosti vždy vrátí true
, ale při pokusu o nastavení se zobrazí FileNotFoundException.
Při prvním volání FileInfo volá Refresh a ukládá informace o souboru do mezipaměti. Při dalších voláních musíte volat Refresh , abyste získali nejnovější kopii informací.