WP7 Isolated Storage详解(2) – 文件与目录操作

在使用Isolated Storage之前,需要先引用两个命名空间

using System.IO;
using System.IO.IsolatedStorage;

目录操作

  • 创建目录

通过调用类IsolatedStorageFile实例的CreateDirectory方法即可创建目录。

IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
myIsolatedStorage.CreateDirectory("NewFolder");

提示:你可以随意命名任何复杂的目录如“Folder1/Folder2/Folder3/NewFolder”

myIsolatedStorage.CreateDirectory("Folder1/Folder2/Folder3/NewFolder");

  • 删除目录

通过调用类IsolatedStorageFile实例的DeleteDirectory方法即可删除目录。

myIsolatedStorage.DeleteDirectory("NewFolder");
  • 最佳方式

-检查目录是否已存在

myIsolatedStorage.DirectoryExists(directoryName)

-使用try{}catch{}捕获异常

public void CreateDirectory(string directoryName)
 {
    try
    {
        IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
        if(!string.IsNullOrEmpty(directoryName) && !myIsolatedStorage.DirectoryExists(directoryName))
        {
          myIsolatedStorage.CreateDirectory(directoryName);
        }
    }
    catch (Exception ex)
    {
        // handle the exception
    }
}

创建一个目录只需要调用这个方法并给一个参数作为目录名称。

this.CreateDirectory("NewFolder");

-删除目录同样检查

提示:目录必须是空的才可以被删除。一旦删除无法恢复。

public void DeleteDirectory(string directoryName)
{
    try
    {
        IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
        if (!string.IsNullOrEmpty(directoryName) && myIsolatedStorage.DirectoryExists(directoryName))
        {
            myIsolatedStorage.DeleteDirectory(directoryName);
        }
    }
    catch (Exception ex)
    {
        // handle the exception
    }
}

删除一个目录只需要调用这个方法。

this.DeleteDirectory("NewFolder");
提示:目前在隔离存储空间无法重命名目录。

文件操作

  • 创建文件

通过使用StreamWriter可以像这样创建文件:

IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
StreamWriter writeFile = new StreamWriter(new IsolatedStorageFileStream("NewFolder\\SomeFile.txt", FileMode.CreateNew, myIsolatedStorage));

提示:如果不给出任何路径,文件将会被创建在根目录下。另外也可以用IsolatedStorageFileStream创建文件:

IsolatedStorageFileStream stream1 = new IsolatedStorageFileStream("SomeTextFile.txt", FileMode.Create, myIsolatedStorage);
  • 删除文件

通过调用类IsolatedStorageFile实例的DeleteFile方法即可删除文件。

myIsolatedStorage.DeleteFile("NewFolder/SomeFile.txt");
  • 最佳方式

-检查你将创建的文件的所在路径是否存在

myIsolatedStorage.DirectoryExists(directoryName)

-检查你将创建的文件是否存在myIsolatedStorage.FileExists(filePath)。如果存在你需要在创建前先删除已有的文件。

-使用try{}catch{}捕获异常

try
{
    IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();
    StreamWriter writeFile;
    if (!myIsolatedStorage.DirectoryExists("NewFolder"))
    {
        myIsolatedStorage.CreateDirectory("NewFolder");
        writeFile = new StreamWriter(new IsolatedStorageFileStream("NewFolder\\SomeFile.txt", FileMode.CreateNew, myIsolatedStorage));
    }
    else
    {
        writeFile = new StreamWriter(new IsolatedStorageFileStream("NewFolder\\SomeFile.txt", FileMode.CreateNew, myIsolatedStorage));
    }

}
catch (Exception ex)
{
    // do something with exception
}

提示:要完全删除隔离存储空间的内容,调用类IsolatedStorageFile实例的Remove方法即可。

myIsolatedStorage.Remove();

One Trackback

  1. [...] WP7 Isolated Storage详解(2) – 文件与目录操作 [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">