FileInfo.IsReadOnly Właściwość

Definicja

Pobiera lub ustawia wartość określającą, czy bieżący plik jest tylko do odczytu.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

Wartość właściwości

Boolean

true Jeśli bieżący plik jest tylko do odczytu; w przeciwnym razie false .true if the current file is read only; otherwise, false.

Wyjątki

Nie można znaleźć pliku opisanego przez bieżący FileInfo obiekt.The file described by the current FileInfo object could not be found.

Podczas otwierania pliku wystąpił błąd We/Wy.An I/O error occurred while opening the file.

Ta operacja nie jest obsługiwana na bieżącej platformie.This operation is not supported on the current platform.

-lub--or-

Obiekt wywołujący nie posiada wymaganych uprawnień.The caller does not have the required permission.

Użytkownik nie ma uprawnienia do zapisu, ale próbuje ustawić tę właściwość na false .The user does not have write permission, but attempted to set this property to false.

Przykłady

Poniższy przykład używa właściwości, IsReadOnly Aby oznaczyć plik jako tylko do odczytu, a następnie oznaczyć go jako do odczytu i zapisu.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

Uwagi

Użyj IsReadOnly właściwości, aby szybko określić lub zmienić, czy bieżący plik jest tylko do odczytu.Use the IsReadOnly property to quickly determine or change whether the current file is read only.

Po pierwszym wywołaniu program FileInfo wywołuje Refresh i buforuje informacje o pliku.When first called, FileInfo calls Refresh and caches information about the file. W przypadku kolejnych wywołań należy wywołać metodę, Refresh Aby uzyskać najnowszą kopię informacji.On subsequent calls, you must call Refresh to get the latest copy of the information.

Dotyczy