FileInfo.IsReadOnly Propriedade
Definição
Obtém ou define um valor que determina se o arquivo atual é somente leitura.Gets or sets a value that determines if the current file is read only.
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
Valor da propriedade
true se o arquivo atual for somente leitura; caso contrário, false.true if the current file is read only; otherwise, false.
Exceções
O arquivo descrito pelo objeto FileInfo atual não pôde ser encontrado.The file described by the current FileInfo object could not be found.
Um erro de E/S ocorreu ao abrir o arquivo.An I/O error occurred while opening the file.
Não há suporte para essa operação na plataforma atual.This operation is not supported on the current platform.
- ou --or-
O chamador não tem a permissão necessária.The caller does not have the required permission.
O usuário não tem permissão para gravação, mas tentou definir esta propriedade como false.The user does not have write permission, but attempted to set this property to false.
Exemplos
O exemplo a seguir usa a IsReadOnly propriedade para marcar um arquivo como somente leitura e, em seguida, marcá-lo como leitura/gravação.The following example uses the IsReadOnly property to mark a file as read only and then mark it as read-write.
using namespace System;
using namespace System::IO;
namespace FileSystemExample
{
// Sets the read-only value of a file.
void SetFileReadAccess(String^ fileName, bool setReadOnly)
{
// Create a new FileInfo object.
FileInfo^ fInfo = gcnew FileInfo(fileName);
// Set the IsReadOnly property.
fInfo->IsReadOnly = setReadOnly;
}
// Returns whether a file is read-only.
bool IsFileReadOnly(String^ fileName)
{
// Create a new FileInfo object.
FileInfo^ fInfo = gcnew FileInfo(fileName);
// Return the IsReadOnly property value.
return fInfo->IsReadOnly;
}
}
int main()
{
try
{
String^ fileName = "c:\\test.xml";
if (File::Exists(fileName))
{
// Get the read-only value for a file.
bool isReadOnly = FileSystemExample::IsFileReadOnly(fileName);
// Display whether the file is read-only.
Console::WriteLine("The file read-only value for {0} is:" +
"{1}", fileName, isReadOnly);
Console::WriteLine("Changing the read-only value for {0}" +
" to true.", fileName);
// Set the file to read-only.
FileSystemExample::SetFileReadAccess(fileName, true);
// Get the read-only value for a file.
isReadOnly = FileSystemExample::IsFileReadOnly(fileName);
// Display that the file is read-only.
Console::WriteLine("The file read-only value for {0} is:" +
"{1}", fileName, isReadOnly);
}
else
{
Console::WriteLine("The file {0} doesn't exist.", fileName);
}
}
catch (IOException^ ex)
{
Console::WriteLine(ex->Message);
}
};
//This code produces output similar to the following;
//results may vary based on the computer/file structure/etc.:
//
//The file read-only value for c:\test.xml is:False
//Changing the read-only value for c:\test.xml to true.
//The file read-only value for c:\test.xml is:True
using System;
using System.IO;
namespace FileSystemExample
{
class FileExample
{
public static void Main()
{
string FileName = @"c:\test.xml";
// Get the read-only value for a file.
bool isReadOnly = IsFileReadOnly(FileName);
// Display wether the file is read-only.
Console.WriteLine("The file read-only value for " + FileName + " is: " + isReadOnly);
Console.WriteLine("Changing the read-only value for " + FileName + " to true.");
// Set the file to read-only.
SetFileReadAccess(FileName, true);
// Get the read-only value for a file.
isReadOnly = IsFileReadOnly(FileName);
// Display that the file is read-only.
Console.WriteLine("The file read-only value for " + FileName + " is: " + isReadOnly);
}
// Sets the read-only value of a file.
public static void SetFileReadAccess(string FileName, bool SetReadOnly)
{
// Create a new FileInfo object.
FileInfo fInfo = new FileInfo(FileName);
// Set the IsReadOnly property.
fInfo.IsReadOnly = SetReadOnly;
}
// Returns wether a file is read-only.
public static bool IsFileReadOnly(string FileName)
{
// Create a new FileInfo object.
FileInfo fInfo = new FileInfo(FileName);
// Return the IsReadOnly property value.
return fInfo.IsReadOnly;
}
}
}
//This code produces output similar to the following;
//results may vary based on the computer/file structure/etc.:
//
//The file read-only value for c:\test.xml is: True
//Changing the read-only value for c:\test.xml to true.
//The file read-only value for c:\test.xml is: True
//
Imports System.IO
Module FileExample
Sub Main()
Dim FileName As String = "c:\test.xml"
' Get the read-only value for a file.
Dim isReadOnly As Boolean = IsFileReadOnly(FileName)
' Display wether the file is read-only.
Console.WriteLine("The file read-only value for " & FileName & " is: " & isReadOnly)
Console.WriteLine("Changing the read-only value for " & FileName & " to true.")
' Set the file to read-only.
SetFileReadAccess(FileName, True)
' Get the read-only value for a file.
isReadOnly = IsFileReadOnly(FileName)
' Display that the file is read-only.
Console.WriteLine("The file read-only value for " & FileName & " is: " & isReadOnly)
End Sub
' Sets the read-only value of a file.
Sub SetFileReadAccess(ByVal FileName As String, ByVal SetReadOnly As Boolean)
' Create a new FileInfo object.
Dim fInfo As New FileInfo(FileName)
' Set the IsReadOnly property.
fInfo.IsReadOnly = SetReadOnly
End Sub
' Returns wether a file is read-only.
Function IsFileReadOnly(ByVal FileName As String) As Boolean
' Create a new FileInfo object.
Dim fInfo As New FileInfo(FileName)
' Return the IsReadOnly property value.
Return fInfo.IsReadOnly
End Function
End Module
'This code produces output similar to the following;
'results may vary based on the computer/file structure/etc.:
'
'The file read-only value for c:\test.xml is: True
'Changing the read-only value for c:\test.xml to true.
'The file read-only value for c:\test.xml is: True
Comentários
Use a IsReadOnly propriedade para determinar ou alterar rapidamente se o arquivo atual é somente leitura.Use the IsReadOnly property to quickly determine or change whether the current file is read only.
Quando chamado pela primeira vez, o FileInfo chama Refresh e armazena em cache as informações sobre o arquivo.When first called, FileInfo calls Refresh and caches information about the file. Em chamadas subsequentes, você deve chamar Refresh para obter a cópia mais recente das informações.On subsequent calls, you must call Refresh to get the latest copy of the information.