StorageFolder.GetItemAsync(String) 方法

定义

从当前文件夹中获取具有指定名称的文件或文件夹。

public:
 virtual IAsyncOperation<IStorageItem ^> ^ GetItemAsync(Platform::String ^ name) = GetItemAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IStorageItem> GetItemAsync(winrt::hstring const& name);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IStorageItem> GetItemAsync(string name);
function getItemAsync(name)
Public Function GetItemAsync (name As String) As IAsyncOperation(Of IStorageItem)

参数

name
String

Platform::String

winrt::hstring

名称 (或路径,相对于要获取的文件或文件夹的当前文件夹) 。

返回

此方法成功完成后,将返回表示指定文件或文件夹的 IStorageItem

若要处理返回的项,请调用 IStorageItem 接口的 IsOfType 方法,以确定该项是文件还是文件夹。 然后将项强制转换为 StorageFolderStorageFile

实现

M:Windows.Storage.IStorageFolder.GetItemAsync(System.String) M:Windows.Storage.IStorageFolder.GetItemAsync(Platform::String) M:Windows.Storage.IStorageFolder.GetItemAsync(winrt::hstring)
属性

例外

指定的项不存在。 检查 name 的值。

您没有访问指定项的权限。 有关详细信息,请参阅 文件访问权限

路径不能采用 uri 格式 (例如 /image.jpg) 。 检查 name 的值。

示例

以下示例演示如何通过调用 GetItemAsync 方法从当前文件夹中获取单个文件或文件夹。 此示例还演示如何通过提供相对路径从当前文件夹的子文件夹中获取项。

using Windows.Storage;
using System.Threading.Tasks;

// Get the app's installation folder.
StorageFolder appFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;

// Get the app's manifest file.
string name = "AppxManifest.xml";
StorageFile manifestFile = (StorageFile)await appFolder.GetItemAsync(name);

// Get a file from a subfolder of the current folder
// by providing a relative path.
string image = @"Assets\Logo.scale-100.png";
StorageFile logoImage = (StorageFile)await appFolder.GetItemAsync(image);
IAsyncAction MainPage::ExampleCoroutineAsync()
{
    // Get the app's installation folder.
    Windows::Storage::StorageFolder appFolder{ Windows::ApplicationModel::Package::Current().InstalledLocation() };

    // Get the app's manifest file from the current folder.
    std::wstring name{ L"AppxManifest.xml" };
    Windows::Storage::StorageFile manifest{ co_await appFolder.GetItemAsync(name) };
    // Do something with the manifest file.
}
// Get the app's installation folder
StorageFolder^ appFolder = Windows::ApplicationModel::Package::Current->InstalledLocation;

// Get the app's manifest file from the current folder
String^ name = "AppxManifest.xml";
create_task(appFolder->GetItemAsync(name)).then([=](IStorageItem^ manifest){
  //Do something with the manifest file  
});

注解

调用 IStorageItem 接口的 IsOfType 方法以确定返回的项目是文件还是文件夹。

若要获取特定文件而不强制转换返回值,请调用 GetFileAsync 方法。 若要在不强制转换返回值的情况下获取特定文件夹,请调用 GetFolderAsync 方法。

若要尝试按名称获取文件或文件夹,或者检查文件或文件夹是否存在,而无需处理 FileNotFoundException,请调用 TryGetItemAsync 方法。

适用于

另请参阅