StorageFolder.TryGetItemAsync(String) Methode

Definition

Versucht, die Datei oder den Ordner mit dem angegebenen Namen aus dem aktuellen Ordner abzurufen. Gibt null zurück, anstatt eine FileNotFoundException auszuwerfen , wenn die angegebene Datei oder der angegebene Ordner nicht gefunden wird.

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)

Parameter

name
String

Platform::String

winrt::hstring

Der Name (oder Pfad relativ zum aktuellen Ordner) der abzurufenden Datei oder des Ordners.

Gibt zurück

Wenn diese Methode erfolgreich abgeschlossen wurde, wird ein IStorageItem zurückgegeben, das die angegebene Datei oder den angegebenen Ordner darstellt. Wenn die angegebene Datei oder der angegebene Ordner nicht gefunden wird, gibt diese Methode NULL zurück, anstatt eine Ausnahme zu auslösen.

Um mit dem zurückgegebenen Element zu arbeiten, rufen Sie die IsOfType-Methode der IStorageItem-Schnittstelle auf, um zu bestimmen, ob es sich bei dem Element um eine Datei oder einen Ordner handelt. Wandeln Sie das Element dann in einen StorageFolder - oder StorageFile-Wert um.

Implementiert

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

Beispiele

Das folgende Beispiel zeigt, wie Sie versuchen, eine einzelne Datei oder einen einzelnen Ordner aus dem aktuellen Ordner abzurufen oder zu überprüfen, ob die Datei oder der Ordner vorhanden ist, indem Sie die TryGetItemAsync-Methode aufrufen.

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());
});

Hinweise

Rufen Sie die TryGetItemAsync-Methode auf, um zu versuchen, eine Datei oder einen Ordner anhand des Namens abzurufen oder zu überprüfen, ob eine Datei oder ein Ordner vorhanden ist, ohne dass eine FileNotFoundException behandelt werden muss. Wenn die Datei oder der Ordner nicht gefunden werden kann, gibt TryGetItemAsync null zurück, anstatt eine Ausnahme auszulösen.

Rufen Sie die IsOfType-Methode der IStorageItem-Schnittstelle auf, um zu bestimmen, ob das zurückgegebene Element eine Datei oder ein Ordner ist.

Gilt für:

Weitere Informationen