Compartir a través de


StorageFolder.TryGetItemAsync(String) Método

Definición

Intenta obtener el archivo o la carpeta con el nombre especificado de la carpeta actual. Devuelve null en lugar de generar una excepción FileNotFoundException si no se encuentra el archivo o la carpeta especificados.

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)

Parámetros

name
String

Platform::String

winrt::hstring

Nombre (o ruta de acceso relativa a la carpeta actual) del archivo o carpeta que se va a obtener.

Devoluciones

Cuando este método se completa correctamente, devuelve un objeto IStorageItem que representa el archivo o la carpeta especificados. Si no se encuentra el archivo o la carpeta especificados, este método devuelve null en lugar de generar una excepción.

Para trabajar con el elemento devuelto, llame al método IsOfType de la interfaz IStorageItem para determinar si el elemento es un archivo o una carpeta. A continuación, convierta el elemento en storageFolder o StorageFile.

Implementaciones

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

Ejemplos

En el ejemplo siguiente se muestra cómo intentar obtener un único archivo o carpeta de la carpeta actual, o para comprobar si existe el archivo o la carpeta, llamando al método TryGetItemAsync.

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

Comentarios

Llame al método TryGetItemAsync para intentar obtener un archivo o carpeta por su nombre, o para comprobar si existe un archivo o una carpeta, sin necesidad de controlar un FileNotFoundException. Si no se encuentra el archivo o la carpeta, TryGetItemAsync devuelve null en lugar de generar una excepción.

Llame al método IsOfType de la interfaz IStorageItem para determinar si el elemento devuelto es un archivo o una carpeta.

Se aplica a

Consulte también