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

Boolean

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.

Aplica-se a