次の方法で共有


StorageFolder.TryGetItemAsync(String) メソッド

定義

現在のフォルダーから、指定した名前のファイルまたはフォルダーの取得を試みます。 指定したファイルまたはフォルダーが見つからない場合は、FileNotFoundException を発生させる代わりに null を返します。

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

パラメーター

name
String

Platform::String

winrt::hstring

取得するファイルまたはフォルダーの名前 (または現在のフォルダーに対する相対パス)。

戻り値

このメソッドが正常に完了すると、指定したファイルまたはフォルダーを表す IStorageItem が 返されます。 指定したファイルまたはフォルダーが見つからない場合、このメソッドは例外を発生させる代わりに null を 返します。

返されたアイテムを操作するには、IStorageItem インターフェイスの IsOfType メソッドを呼び出して、アイテムがファイルかフォルダーかを判断します。 次に、項目を StorageFolder または StorageFile にキャストします。

実装

M:Windows.Storage.IStorageFolder2.TryGetItemAsync(System.String) M:Windows.Storage.IStorageFolder2.TryGetItemAsync(Platform::String) M:Windows.Storage.IStorageFolder2.TryGetItemAsync(winrt::hstring)
属性

次の例では、TryGetItemAsync メソッドを呼び出して、現在のフォルダーから 1 つのファイルまたはフォルダーを取得するか、ファイルまたはフォルダーが存在するかどうかをチェックする方法を示します。

using Windows.Storage;
using System.Threading.Tasks;
using System.Diagnostics; // For writing results to Output window.

// Get the path to the app's Assets folder.
string root = Windows.ApplicationModel.Package.Current.InstalledLocation.Path;
string path = root + @"\Assets";

// Get the app's Assets folder.
StorageFolder assetsFolder = await StorageFolder.GetFolderFromPathAsync(path);

// Check whether an image with the specified scale exists.
string imageName = "Logo.scale-140.png";
if (await assetsFolder.TryGetItemAsync(imageName) != null)
    Debug.WriteLine(imageName + " exists.");
else  // Return value of TryGetItemAsync is null.
    Debug.WriteLine(imageName + " does not exist.");
IAsyncAction MainPage::ExampleCoroutineAsync()
{
    std::wstring imageName{ L"Wide310x150Logo.scale-200.png" };

    // Get the path to the app's Assets folder.
    std::wstring path{ Windows::ApplicationModel::Package::Current().InstalledLocation().Path() + L"\\Assets" };

    // Get the folder object that corresponds to this absolute path in the file system.
    Windows::Storage::StorageFolder assets{ co_await Windows::Storage::StorageFolder::GetFolderFromPathAsync(path) };
    IStorageItem image{ co_await assets.TryGetItemAsync(imageName) };

    std::wstring output;
    if (image)
    {
        output = L"File: " + image.Name() + L" found \n";
    }
    else
    {
        output = L"File not found\n";
    }
    ::OutputDebugString(output.c_str());
}
String^ imageName = "Logo.scale-140.png";
// Get the app'ss Assets folder
String^ path = Windows::ApplicationModel::Package::Current->InstalledLocation->Path + "\\Assets";

create_task(StorageFolder::GetFolderFromPathAsync(path)).then([=](StorageFolder^ assets) -> task < IStorageItem^ > 
{
 return create_task(assets->TryGetItemAsync(imageName));
}).then([=](IStorageItem^ image) {
 String^ output = "";
 if (image == nullptr)
 {
  output = "File not found\n";
 }
 else
 {
  //output = "File: " + image->Name + " found \n";
 }
 OutputDebugString(output->Begin());
});

注釈

TryGetItemAsync メソッドを呼び出して、ファイルまたはフォルダーを名前で取得するか、ファイルまたはフォルダーが存在するかどうかをチェックします。FileNotFoundException を処理する必要はありません。 ファイルまたはフォルダーが見つからない場合、TryGetItemAsync は例外を発生させる代わりに null を 返します。

IStorageItem インターフェイスの IsOfType メソッドを呼び出して、返される項目がファイルかフォルダーかを判断します。

適用対象

こちらもご覧ください