Dela via


How to: Read and Write to Files in Isolated Storage

There are a number of ways to open a file within a store using the IsolatedStorageFileStream class. Once an IsolatedStorageFileStream has been obtained, it can be used to get a StreamReader or StreamWriter. With the StreamReader and StreamWriter, you can read and write to a file in a store as you would to any other file. For a wider discussion of reading and writing to a file, see File and Stream I/O.

ReadingAndWritingToFiles Example

The following code example obtains an isolated store, creates a file named TestStore.txt, and writes "Hello Isolated Storage" to the file. The code then reads the file and prints the results to the console.

Imports System
Imports System.IO
Imports System.IO.IsolatedStorage

Public Class ReadingAndWritingToFiles
    Public Shared Function Main() As Integer
        ' Get an isolated store for this assembly and put it into an
        ' IsolatedStoreFile object.
        Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
            IsolatedStorageScope.Assembly, Nothing, Nothing)

        ' This code checks to see if the file already exists.

        Dim fileNames() As String = isoStore.GetFileNames("TestStore.txt")
        For Each file As String In fileNames
            If file = "TestStore.txt" Then
                Console.WriteLine("The file already exists!")
                Console.Write("Type ""StoreAdm /REMOVE"" at the command line to delete all ")
                Console.WriteLine("Isolated Storage for this user.")

                ' Exit the program.
                Return 0
            End If
        Next

        writeToFile(isoStore)

        Console.WriteLine("The file ""TestStore.txt"" contains:")

        ' Call the readFromFile and write the returned string to the
        'console.
        Console.WriteLine(readFromFile(isoStore))

        ' Exit the program.
        Return 0
    End Function ' End of main.

    ' This method writes "Hello Isolated Storage" to the file.
    Private Shared Sub writeToFile(isoStore As IsolatedStorageFile)
        ' Declare a new StreamWriter.
        Dim writer As StreamWriter = Nothing

        ' Assign the writer to the store and the file TestStore.
        writer = New StreamWriter(New IsolatedStorageFileStream(
            "TestStore.txt", FileMode.CreateNew, isoStore))

        ' Have the writer write "Hello Isolated Storage" to the store.
        writer.WriteLine("Hello Isolated Storage")

        writer.Close()

        Console.WriteLine("You have written to the file.")

    End Sub ' End of writeToFile.

    ' This method reads the first line in the "TestStore.txt" file.
    Private Shared Function readFromFile(isoStore As IsolatedStorageFile) As String
        ' This code opens the TestStore.txt file and reads the string.
        Dim reader As New StreamReader(New IsolatedStorageFileStream(
            "TestStore.txt", FileMode.Open, isoStore))

        ' Read a line from the file and add it to sb.
        Dim sb As String = reader.ReadLine()

        ' Close the reader.
        reader.Close()

        ' Return the string.
        Return sb.ToString()
    End Function ' End of readFromFile.
End Class
using System;
using System.IO;
using System.IO.IsolatedStorage;

public class ReadingAndWritingToFiles
{
    public static int Main()
    {
        // Get an isolated store for this assembly and put it into an
        // IsolatedStoreFile object.
        IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
            IsolatedStorageScope.Assembly, null, null);

        // This code checks to see if the file already exists.

        string[] fileNames = isoStore.GetFileNames("TestStore.txt");
        foreach (string file in fileNames)
        {
            if (file == "TestStore.txt")
            {
                Console.WriteLine("The file already exists!");
                Console.Write("Type \"StoreAdm /REMOVE\" at the command line to delete all ");
                Console.WriteLine("Isolated Storage for this user.");

                // Exit the program.
                return 0;
            }
        }

        writeToFile(isoStore);

        Console.WriteLine("The file \"TestStore.txt\" contains:");

        // Call the readFromFile and write the returned string to the
        //console.
        Console.WriteLine(readFromFile(isoStore));

        // Exit the program.
        return 0;
    } // End of main.

    // This method writes "Hello Isolated Storage" to the file.
    private static void writeToFile(IsolatedStorageFile isoStore)
    {
        // Declare a new StreamWriter.
        StreamWriter writer = null;

        // Assign the writer to the store and the file TestStore.
        writer = new StreamWriter(new IsolatedStorageFileStream(
            "TestStore.txt", FileMode.CreateNew, isoStore));

        // Have the writer write "Hello Isolated Storage" to the store.
        writer.WriteLine("Hello Isolated Storage");

        writer.Close();

        Console.WriteLine("You have written to the file.");

    } // End of writeToFile.

    // This method reads the first line in the "TestStore.txt" file.
    private static string readFromFile(IsolatedStorageFile isoStore)
    {
        // This code opens the TestStore.txt file and reads the string.
        StreamReader reader = new StreamReader(new IsolatedStorageFileStream(
            "TestStore.txt", FileMode.Open, isoStore));

        // Read a line from the file and add it to sb.
        String sb = reader.ReadLine();

        // Close the reader.
        reader.Close();

        // Return the string.
        return sb.ToString();

    } // End of readFromFile.
}
using namespace System;
using namespace System::IO;
using namespace System::IO::IsolatedStorage;

public ref class ReadingAndWritingToFiles
{
public:
    static int Main()
    {
        // Get an isolated store for this assembly and put it into an
        // IsolatedStoreFile object.
        IsolatedStorageFile^ isoStore = IsolatedStorageFile::GetStore(IsolatedStorageScope::User |
            IsolatedStorageScope::Assembly, (Type ^)nullptr, (Type ^)nullptr);

        // This code checks to see if the file already exists.

        array<String^>^ fileNames = isoStore->GetFileNames("TestStore.txt");
        for each (String^ file in fileNames)
        {
            if (file == "TestStore.txt")
            {
                Console::WriteLine("The file already exists!");
                Console::Write("Type \"StoreAdm /REMOVE\" at the command line to delete all ");
                Console::WriteLine("Isolated Storage for this user.");

                // Exit the program.
                return 0;
            }
        }

        writeToFile(isoStore);

        Console::WriteLine("The file \"TestStore.txt\" contains:");

        // Call the readFromFile and write the returned string to the
        //console.
        Console::WriteLine(readFromFile(isoStore));

        // Exit the program.
        return 0;
    } // End of main.

private:
    // This method writes "Hello Isolated Storage" to the file.
    static void writeToFile(IsolatedStorageFile^ isoStore)
    {
        // Declare a new StreamWriter.
        StreamWriter^ writer = nullptr;

        // Assign the writer to the store and the file TestStore.
        writer = gcnew StreamWriter(gcnew IsolatedStorageFileStream(
            "TestStore.txt", FileMode::CreateNew, isoStore));

        // Have the writer write "Hello Isolated Storage" to the store.
        writer->WriteLine("Hello Isolated Storage");

        writer->Close();

        Console::WriteLine("You have written to the file.");

    } // End of writeToFile.

    // This method reads the first line in the "TestStore.txt" file.
    static String^ readFromFile(IsolatedStorageFile^ isoStore)
    {
        // This code opens the TestStore.txt file and reads the string.
        StreamReader^ reader = gcnew StreamReader(gcnew IsolatedStorageFileStream(
            "TestStore.txt", FileMode::Open, isoStore));

        // Read a line from the file and add it to sb.
        String^ sb = reader->ReadLine();

        // Close the reader.
        reader->Close();

        // Return the string.
        return sb->ToString();

    } // End of readFromFile.
};

int main()
{
    return ReadingAndWritingToFiles::Main();
}

See Also

Reference

IsolatedStorageFile

IsolatedStorageFileStream

System.IO.FileMode

System.IO.FileAccess

System.IO.StreamReader

System.IO.StreamWriter

Other Resources

Isolated Storage