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

Definition

Ruft den relativen Pfad des Eintrags im ZIP-Archiv ab.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

Eigenschaftswert

Der relative Pfad des Eintrags im Zip-Archiv.The relative path of the entry in the zip archive.

Beispiele

Das folgende Beispiel zeigt, wie Sie den Inhalt der ZIP-Datei durchlaufen und Extrahieren von Dateien, die die Erweiterung TXT enthalten.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

Hinweise

Die FullName Eigenschaft enthält den relativen Pfad, einschließlich der Hierarchie Unterverzeichnis eines Eintrags im Zip-Archiv.The FullName property contains the relative path, including the subdirectory hierarchy, of an entry in a zip archive. (Im Gegensatz dazu die Name Eigenschaft enthält nur den Namen des Eintrags, und enthält keine Hierarchie Unterverzeichnis.) Angenommen, zwei Einträge in einer Zip-Archiv erstellen Sie mithilfe der CreateEntryFromFile Methode und geben Sie NewEntry.txt als Name für den ersten Eintrag und AddedFolder\\NewEntry.txt für den zweiten Eintrag, müssen beide Einträge NewEntry.txt in die Name Eigenschaft.(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. Außerdem haben Sie der erste Eintrag NewEntry.txt in die FullName -Eigenschaft, aber der zweite Eintrag weist AddedFolder\\NewEntry.txt in die FullName Eigenschaft.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.

Sie können eine beliebige Zeichenfolge angeben, weil der Pfad eines Eintrags, einschließlich Zeichenfolgen, die ungültige und absolute Pfade angeben.You can specify any string as the path of an entry, including strings that specify invalid and absolute paths. Aus diesem Grund die FullName Eigenschaft kann einen Wert, der nicht korrekt formatiert ist enthalten.Therefore, the FullName property might contain a value that is not correctly formatted. Ein ungültige oder absoluter Pfad kann zu einer Ausnahme führen, wenn Sie den Inhalt der Zip-Archiv extrahieren.An invalid or absolute path might result in an exception when you extract the contents of the zip archive.

Gilt für: