Partilhar via


Como: Criar arquivos e diretórios no armazenamento isolado

Depois de obter um armazenamento, você pode criar diretórios e arquivos para armazenar dados. Dentro de um armazenamento, nomes de arquivos e diretórios são especificados com respeito à raiz do sistema de arquivos virtual.

Para criar um diretório, use o método de instância CreateDirectory de IsolatedStorageFile. Se você especificar uma subpasta de uma pasta que ainda não foi criada, então, ambos os diretórios serão criados. Se você especificar um diretório que já existe, nenhuma exceção será gerada. No entanto, se você especificar um nome de diretório que contém caracteres inválidos, uma IsolatedStorageException será gerada.

Para criar e abrir um arquivo, use um dos construtores de IsolatedStorageFileStream, passando o nome do arquivo, o valor FileMode OpenOrCreate, e o depósito no qual você deseja que o arquivo seja criado. Em seguida, você pode fazer as coisas que você esperaria poder fazer com os dados em um fluxo de arquivos, como ler, buscar e gravar. O construtor do IsolatedStorageFileStream também pode ser usado para abrir um arquivo para outros fins.

Você pode criar ou abrir arquivos sem obter anteriormente um depósito, usando qualquer um dos construtores de IsolatedStorageFileStream que não têm um argumento IsolatedStorageFile. Quando você usa essa forma do construtor, o arquivo é criado no depósito de domínio para o arquivo.

Nos sistemas de arquivos do Windows, os nomes dos arquivos e diretórios de armazenamento isolado não diferenciam maiúsculas de minúsculas, para fins de comparação de nomes. Portanto, se você criar um arquivo chamado ThisFile.txt e, em seguida, criar outro arquivo chamado THISFILE.TXT, somente um arquivo é criado. O nome de arquivo mantém seu capitalização original para fins de exibição.

Exemplo de CreatingFilesAndDirectories

O exemplo de código a seguir ilustra como criar arquivos e pastas em um armazenamento isolado. Primeiro, um depósito isolado por usuário, domínio, e assembly é recuperado e colocado na variável isoStore. O método CreateDirectory é usado para configurar algumas pastas diferentes, e o método IsolatedStorageFileStream cria alguns arquivos nesses diretórios.

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

Public Class CreatingFilesDirectories
    Public Shared Sub Main()
        ' Get an isolated store for user, domain, and assembly and put it into
        ' an IsolatedStorageFile object.

        Dim isoStore As IsolatedStorageFile
        isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or _
            IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)

        ' This code creates a few different directories.

        isoStore.CreateDirectory("TopLevelDirectory")
        isoStore.CreateDirectory("TopLevelDirectory/SecondLevel")

        ' This code creates two new directories, one inside the other.

        isoStore.CreateDirectory("AnotherTopLevelDirectory/InsideDirectory")

        ' This file is placed in the root.

        Dim isoStream1 As New IsolatedStorageFileStream("InTheRoot.txt", FileMode.Create, isoStore)
        Console.WriteLine("Created a new file in the root.")
        isoStream1.Close()

        ' This file is placed in the InsideDirectory.

        Dim isoStream2 As New IsolatedStorageFileStream("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt", _
            FileMode.Create, isoStore)
        Console.WriteLine("Created a new file in the root.")
        isoStream2.Close()

        Console.WriteLine("Created a new file in the InsideDirectory.")
    End Sub
End Class
using System;
using System.IO;
using System.IO.IsolatedStorage;

public class CreatingFilesDirectories
{
    public static void Main()
    {
        // Get a new isolated store for this user, domain, and assembly.
        // Put the store into an IsolatedStorageFile object.

        IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
            IsolatedStorageScope.Domain | IsolatedStorageScope.Assembly, null, null);

        // This code creates a few different directories.

        isoStore.CreateDirectory("TopLevelDirectory");
        isoStore.CreateDirectory("TopLevelDirectory/SecondLevel");

        // This code creates two new directories, one inside the other.
        isoStore.CreateDirectory("AnotherTopLevelDirectory/InsideDirectory");

        // This file is placed in the root.

        IsolatedStorageFileStream isoStream1 =
            new IsolatedStorageFileStream("InTheRoot.txt", FileMode.Create, isoStore);
        Console.WriteLine("Created a new file in the root.");
        isoStream1.Close();

        // This file is placed in the InsideDirectory.

        IsolatedStorageFileStream isoStream2 =
            new IsolatedStorageFileStream("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt",
            FileMode.Create, isoStore);
        isoStream2.Close();

        Console.WriteLine("Created a new file in the InsideDirectory.");
    } // End of Main.
}
using namespace System;
using namespace System::IO;
using namespace System::IO::IsolatedStorage;

public ref class CreatingFilesDirectories
{
public:
    static void Main()
    {
        // Get a new isolated store for this user, domain, and assembly.
        // Put the store into an IsolatedStorageFile object.

        IsolatedStorageFile^ isoStore =  IsolatedStorageFile::GetStore( IsolatedStorageScope::User |
            IsolatedStorageScope::Domain | IsolatedStorageScope::Assembly,
            (Type ^)nullptr, (Type ^)nullptr);

        // This code creates a few different directories.

        isoStore->CreateDirectory("TopLevelDirectory");
        isoStore->CreateDirectory("TopLevelDirectory/SecondLevel");

        // This code creates two new directories, one inside the other.

        isoStore->CreateDirectory("AnotherTopLevelDirectory/InsideDirectory");

        // This file is placed in the root.

        IsolatedStorageFileStream^ isoStream1 =
            gcnew IsolatedStorageFileStream("InTheRoot.txt", FileMode::Create, isoStore);
        Console::WriteLine("Created a new file in the root.");
        isoStream1->Close();

        // This file is placed in the InsideDirectory.

        IsolatedStorageFileStream^ isoStream2 =
            gcnew IsolatedStorageFileStream("AnotherTopLevelDirectory/InsideDirectory/HereIAm.txt",
            FileMode::Create, isoStore);
        isoStream2->Close();

        Console::WriteLine("Created a new file in the InsideDirectory.");
    } // End of Main.
};

int main()
{
    CreatingFilesDirectories::Main();
}

Consulte também

Referência

IsolatedStorageFile

IsolatedStorageFileStream

Conceitos

armazenamentos isolados