Postupy: Vytvořit soubory a adresáře v izolovaném úložišti
Po získání úložiště můžete vytvářet adresáře a soubory pro ukládání dat. V rámci úložiště jsou názvy souborů a adresářů určeny s ohledem na kořenový adresář virtuálního souborového systému.
Chcete-li vytvořit adresář, použijte instanční metodu CreateDirectory objektu IsolatedStorageFile. Zadáte-li podadresář nevytvořeného adresáře, jsou vytvořeny oba adresáře. Zadáte-li adresář, který již existuje, nebude generována žádná výjimka. Nicméně pokud zadáte název adresáře, který obsahuje neplatné znaky, je generována IsolatedStorageException.
Chcete-li vytvořit a otevřít soubor, použijte jeden z konstruktorů IsolatedStorageFileStream a předejte název souboru, hodnotu FileMode OpenOrCreate a úložiště, ve kterém chcete daný soubor vytvořit. Poté lze provádět očekávané činnosti s daty v datovém proudu souboru, jako je čtení, hledání a zápis. Konstruktor IsolatedStorageFileStream lze také použít k otevření souboru pro jiné účely.
Můžete vytvořit nebo otevřít soubory bez dříve získaného úložiště pomocí kteréhokoli konstruktoru IsolatedStorageFileStream, který nepřebírá argument IsolatedStorageFile. Použijete-li tento tvar konstruktoru, soubor bude vytvořen v úložišti domény pro daný soubor.
V systému souborů operačního systému Windows nejsou v názvech souborů a adresářů v izolovaném úložišti rozlišována malá a velká písmena pro účely porovnání názvů. Proto pokud vytvoříte soubor s názvem ThisFile.txt a později vytvoříte jiný soubor s názvem THISFILE.TXT, bude vytvořen pouze jeden soubor. Název soubor si pro účely zobrazení ponechá svou původní velikost písmen.
Příklad CreatingFilesAndDirectories
Následující příklad kódu ukazuje, jak vytvořit soubory a adresáře v izolovaném úložišti. Nejprve je získáno úložiště izolované podle uživatele, domény a sestavení a je umístěno do proměnné isoStore. Metoda CreateDirectory slouží k vytvoření několika různých adresářů a metoda IsolatedStorageFileStream vytvoří některé soubory v těchto adresářích.
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();
}