ZipFileExtensions.CreateEntryFromFile Método

Definição

Arquiva um ficheiro comprimindo-o e adicionando-o ao arquivo zip.

Sobrecargas

CreateEntryFromFile(ZipArchive, String, String)

Origem:
ZipFileExtensions.ZipArchive.Create.cs
Origem:
ZipFileExtensions.ZipArchive.Create.cs
Origem:
ZipFileExtensions.ZipArchive.Create.cs
Origem:
ZipFileExtensions.ZipArchive.Create.cs
Origem:
ZipFileExtensions.ZipArchive.Create.cs

Arquiva um ficheiro comprimindo-o e adicionando-o ao arquivo zip.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String) As ZipArchiveEntry

Parâmetros

destination
ZipArchive

O arquivo zip para adicionar o ficheiro.

sourceFileName
String

O caminho para o ficheiro a ser arquivado. Pode especificar um caminho relativo ou um caminho absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

entryName
String

O nome da entrada a criar no arquivo postal.

Devoluções

Uma embalagem para a nova entrada no arquivo postal.

Exceções

sourceFileName é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.

-ou-

entryName é Empty.

sourceFileName ou entryName é null.

Em sourceFileName, o caminho, nome do ficheiro, ou ambos especificados excedem o comprimento máximo definido pelo sistema.

sourceFileName é inválido (por exemplo, está num disco não mapeado).

O ficheiro especificado por sourceFileName não pode ser aberto, ou é demasiado grande para ser atualizado (o limite atual é Int32.MaxValue).

sourceFileName especifica um diretório.

-ou-

O chamador não tem a permissão necessária para aceder ao ficheiro especificado por sourceFileName.

O ficheiro especificado por sourceFileName não é encontrado.

O sourceFileName parâmetro está num formato inválido.

-ou-

O arquivo postal não suporta escrita.

O arquivo postal foi descartado.

Exemplos

O exemplo seguinte mostra como criar uma nova entrada num arquivo zip a partir de um ficheiro existente.

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

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt");
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Observações

A nova entrada no arquivo contém o conteúdo do ficheiro especificado por sourceFileName. Se já existir uma entrada com o nome especificado (entryName) no arquivo, é criada uma segunda entrada com um nome idêntico. A LastWriteTime propriedade da entrada é definida para a última vez que o ficheiro no sistema de ficheiros foi alterado.

Quando ZipArchiveMode.Update está presente, o limite de tamanho de uma entrada é limitado a Int32.MaxValue. Este limite deve-se ao facto de o modo de atualização usar um MemoryStream internamente para permitir a busca necessária ao atualizar um arquivo, e MemoryStream tem um máximo igual ao tamanho de um int.

Aplica-se a

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel)

Origem:
ZipFileExtensions.ZipArchive.Create.cs
Origem:
ZipFileExtensions.ZipArchive.Create.cs
Origem:
ZipFileExtensions.ZipArchive.Create.cs
Origem:
ZipFileExtensions.ZipArchive.Create.cs
Origem:
ZipFileExtensions.ZipArchive.Create.cs

Arquiva um ficheiro comprimindo-o usando o nível de compressão especificado e adicionando-o ao arquivo zip.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * System.IO.Compression.CompressionLevel -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, compressionLevel As CompressionLevel) As ZipArchiveEntry

Parâmetros

destination
ZipArchive

O arquivo zip para adicionar o ficheiro.

sourceFileName
String

O caminho para o ficheiro a ser arquivado. Pode especificar um caminho relativo ou um caminho absoluto. Um caminho relativo é interpretado como relativo ao diretório de trabalho atual.

entryName
String

O nome da entrada a criar no arquivo postal.

compressionLevel
CompressionLevel

Um dos valores de enumeração indica se deve enfatizar a velocidade ou a eficácia da compressão ao criar a entrada.

Devoluções

Uma embalagem para a nova entrada no arquivo postal.

Exceções

sourceFileName é Empty, contém apenas espaço em branco, ou contém pelo menos um carácter inválido.

-ou-

entryName é Empty.

sourceFileName ou entryName é null.

sourceFileName é inválido (por exemplo, está num disco não mapeado).

Em sourceFileName, o caminho, nome do ficheiro, ou ambos especificados excedem o comprimento máximo definido pelo sistema.

O ficheiro especificado por sourceFileName não pode ser aberto, ou é demasiado grande para ser atualizado (o limite atual é Int32.MaxValue).

sourceFileName especifica um diretório.

-ou-

O chamador não tem a permissão necessária para aceder ao ficheiro especificado por sourceFileName.

O ficheiro especificado por sourceFileName não é encontrado.

O sourceFileName parâmetro está num formato inválido.

-ou-

O arquivo postal não suporta escrita.

O arquivo postal foi descartado.

Exemplos

O exemplo seguinte mostra como criar uma nova entrada num arquivo zip a partir de um ficheiro existente e especificar o nível de compressão.

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

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest);
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Observações

A nova entrada no arquivo contém o conteúdo do ficheiro especificado por sourceFileName. Se já existir uma entrada com o nome especificado (entryName) no arquivo, é criada uma segunda entrada com um nome idêntico. A LastWriteTime propriedade da entrada é definida para a última vez que o ficheiro no sistema de ficheiros foi alterado.

Quando ZipArchiveMode.Update está presente, o limite de tamanho de uma entrada é limitado a Int32.MaxValue. Este limite deve-se ao facto de o modo de atualização usar um MemoryStream internamente para permitir a busca necessária ao atualizar um arquivo, e MemoryStream tem um máximo igual ao tamanho de um int.

Aplica-se a

CreateEntryFromFile(ZipArchive, String, String, ReadOnlySpan<Char>, ZipEncryptionMethod)

Origem:
ZipFileExtensions.ZipArchive.Create.cs
public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, ReadOnlySpan<char> password, System::IO::Compression::ZipEncryptionMethod encryption);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, ReadOnlySpan<char> password, System.IO.Compression.ZipEncryptionMethod encryption);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * ReadOnlySpan<char> * System.IO.Compression.ZipEncryptionMethod -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, password As ReadOnlySpan(Of Char), encryption As ZipEncryptionMethod) As ZipArchiveEntry

Parâmetros

destination
ZipArchive
sourceFileName
String
entryName
String
password
ReadOnlySpan<Char>
encryption
ZipEncryptionMethod

Devoluções

Aplica-se a

CreateEntryFromFile(ZipArchive, String, String, CompressionLevel, ReadOnlySpan<Char>, ZipEncryptionMethod)

Origem:
ZipFileExtensions.ZipArchive.Create.cs
public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::Compression::ZipArchiveEntry ^ CreateEntryFromFile(System::IO::Compression::ZipArchive ^ destination, System::String ^ sourceFileName, System::String ^ entryName, System::IO::Compression::CompressionLevel compressionLevel, ReadOnlySpan<char> password, System::IO::Compression::ZipEncryptionMethod encryption);
public static System.IO.Compression.ZipArchiveEntry CreateEntryFromFile(this System.IO.Compression.ZipArchive destination, string sourceFileName, string entryName, System.IO.Compression.CompressionLevel compressionLevel, ReadOnlySpan<char> password, System.IO.Compression.ZipEncryptionMethod encryption);
static member CreateEntryFromFile : System.IO.Compression.ZipArchive * string * string * System.IO.Compression.CompressionLevel * ReadOnlySpan<char> * System.IO.Compression.ZipEncryptionMethod -> System.IO.Compression.ZipArchiveEntry
<Extension()>
Public Function CreateEntryFromFile (destination As ZipArchive, sourceFileName As String, entryName As String, compressionLevel As CompressionLevel, password As ReadOnlySpan(Of Char), encryption As ZipEncryptionMethod) As ZipArchiveEntry

Parâmetros

destination
ZipArchive
sourceFileName
String
entryName
String
compressionLevel
CompressionLevel
password
ReadOnlySpan<Char>
encryption
ZipEncryptionMethod

Devoluções

Aplica-se a