ZipArchiveEntry.FullName ZipArchiveEntry.FullName ZipArchiveEntry.FullName ZipArchiveEntry.FullName Property

Definición

Obtiene la ruta de acceso relativa de la entrada en el archivo zip.Gets the relative path of the entry in the zip archive.

public:
 property System::String ^ FullName { System::String ^ get(); };
public string FullName { get; }
member this.FullName : string
Public ReadOnly Property FullName As String

Valor de propiedad

Ruta de acceso relativa de la entrada en el archivo zip.The relative path of the entry in the zip archive.

Ejemplos

El ejemplo siguiente muestra cómo recorrer en iteración el contenido de un archivo .zip y extraiga los archivos que contienen la extensión. txt.The following example shows how to iterate through the contents of a .zip file, and extract files that contain the .txt extension.

using System;
using System.IO;
using System.IO.Compression;

class Program
{
    static void Main(string[] args)
    {
        string zipPath = @".\result.zip";

        Console.WriteLine("Provide path where to extract the zip file:");
        string extractPath = Console.ReadLine();

        // Normalizes the path.
        extractPath = Path.GetFullPath(extractPath);

        // Ensures that the last character on the extraction path
        // is the directory separator char. 
        // Without this, a malicious zip file could try to traverse outside of the expected
        // extraction path.
        if (!extractPath.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal))
            extractPath += Path.DirectorySeparatorChar;

        using (ZipArchive archive = ZipFile.OpenRead(zipPath))
        {
            foreach (ZipArchiveEntry entry in archive.Entries)
            {
                if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
                {
                    // Gets the full path to ensure that relative segments are removed.
                    string destinationPath = Path.GetFullPath(Path.Combine(extractPath, entry.FullName));

                    // Ordinal match is safest, case-sensitive volumes can be mounted within volumes that
                    // are case-insensitive.
                    if (destinationPath.StartsWith(extractPath, StringComparison.Ordinal))
                        entry.ExtractToFile(destinationPath);
                }
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = ".\result.zip"

        Console.WriteLine("Provide path where to extract the zip file:")
        Dim extractPath As String = Console.ReadLine()

        ' Normalizes the path.
        extractPath = Path.GetFullPath(extractPath)

        ' Ensures that the last character on the extraction path
        ' is the directory separator char. 
        ' Without this, a malicious zip file could try to traverse outside of the expected
        ' extraction path.
        If Not extractPath.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.Ordinal) Then
            extractPath += Path.DirectorySeparatorChar
        End If

        Using archive As ZipArchive = ZipFile.OpenRead(zipPath)
            For Each entry As ZipArchiveEntry In archive.Entries
                If entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase) Then

                    ' Gets the full path to ensure that relative segments are removed.
                    Dim destinationPath As String = Path.GetFullPath(Path.Combine(extractPath, entry.FullName))
                    
                    ' Ordinal match is safest, case-sensitive volumes can be mounted within volumes that
                    ' are case-insensitive.
                    If destinationPath.StartsWith(extractPath, StringComparison.Ordinal) Then 
                        entry.ExtractToFile(destinationPath)
                    End If

                End If
            Next
        End Using
    End Sub

End Module

Comentarios

El FullName propiedad contiene la ruta de acceso relativa, incluida la jerarquía de subdirectorio, de una entrada en un archivo zip.The FullName property contains the relative path, including the subdirectory hierarchy, of an entry in a zip archive. (En cambio, el Name contiene únicamente el nombre de la entrada de propiedad y no incluye la jerarquía de subdirectorio.) Por ejemplo, si crea dos entradas en un archivo zip mediante el uso de la CreateEntryFromFile método y proporcionar NewEntry.txt como el nombre de la primera entrada y AddedFolder\\NewEntry.txt la segunda entrada, tanto las entradas tendrán NewEntry.txt en el Name propiedad.(In contrast, the Name property contains only the name of the entry and does not include the subdirectory hierarchy.) For example, if you create two entries in a zip archive by using the CreateEntryFromFile method and provide NewEntry.txt as the name for the first entry and AddedFolder\\NewEntry.txt for the second entry, both entries will have NewEntry.txt in the Name property. También tendrá la primera entrada NewEntry.txt en el FullName tendrá la propiedad, pero la segunda entrada AddedFolder\\NewEntry.txt en el FullName propiedad.The first entry will also have NewEntry.txt in the FullName property, but the second entry will have AddedFolder\\NewEntry.txt in the FullName property.

Puede especificar cualquier cadena como la ruta de acceso de una entrada, incluidas las cadenas que especifican las rutas de acceso absolutas y no válidos.You can specify any string as the path of an entry, including strings that specify invalid and absolute paths. Por lo tanto, el FullName propiedad podría contener un valor que no tiene el formato correcto.Therefore, the FullName property might contain a value that is not correctly formatted. Una ruta de acceso absoluta o no válido podría producir una excepción cuando se extrae el contenido del archivo zip.An invalid or absolute path might result in an exception when you extract the contents of the zip archive.

Se aplica a