Class CpioArchive
Namespace: Aspose.Zip.Cpio
Assembly: Aspose.Zip.dll (25.1.0)
이 클래스는 cpio 아카이브 파일을 나타냅니다.
public class CpioArchive : IArchive, IDisposable
상속
구현
상속된 멤버
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
생성자
CpioArchive()
Aspose.Zip.Cpio.CpioArchive 클래스의 새 인스턴스를 초기화합니다.
public CpioArchive()
예제
다음 예제는 파일을 압축하는 방법을 보여줍니다.
using (var archive = new CpioArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.cpio");
}
CpioArchive(Stream)
Aspose.Zip.Cpio.CpioArchive 클래스의 새 인스턴스를 초기화하고 아카이브에서 추출할 수 있는 항목 목록을 구성합니다.
public CpioArchive(Stream sourceStream)
매개변수
sourceStream
Stream
아카이브의 원본. 탐색 가능해야 합니다.
예제
다음 예제는 모든 항목을 디렉터리로 추출하는 방법을 보여줍니다.
using (var archive = new CpioArchive(File.OpenRead("archive.cpio")))
{
archive.ExtractToDirectory("C:\extracted");
}
비고
이 생성자는 어떤 항목도 풀지 않습니다. 압축 해제를 위해 Aspose.Zip.Cpio.CpioEntry.Open 메서드를 참조하십시오.
예외
sourceStream
가 null입니다.
sourceStream
가 탐색 불가능합니다.
sourceStream
가 유효한 cpio 아카이브가 아닙니다.
CpioArchive(string)
Aspose.Zip.Cpio.CpioArchive 클래스의 새 인스턴스를 초기화하고 아카이브에서 추출할 수 있는 항목 목록을 구성합니다.
public CpioArchive(string path)
매개변수
path
string
아카이브 파일의 경로입니다.
예제
다음 예제는 모든 항목을 디렉터리로 추출하는 방법을 보여줍니다.
using (var archive = new CpioArchive("archive.cpio"))
{
archive.ExtractToDirectory("C:\extracted");
}
비고
이 생성자는 어떤 항목도 풀지 않습니다. 압축 해제를 위해 Aspose.Zip.Cpio.CpioEntry.Open 메서드를 참조하십시오.
예외
path
가 null입니다.
호출자가 액세스할 수 있는 권한이 없습니다.
path
가 비어 있거나 공백만 포함하거나 유효하지 않은 문자를 포함합니다.
path
에 대한 파일 접근이 거부되었습니다.
지정된 path
, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하고 파일 이름은 260자 미만이어야 합니다.
path
에 문자열 중간에 콜론(:)이 포함되어 있습니다.
파일을 찾을 수 없습니다.
지정된 경로가 유효하지 않습니다(예: 매핑되지 않은 드라이브에 있을 수 있음).
파일이 이미 열려 있습니다.
속성
Entries
아카이브를 구성하는 Aspose.Zip.Cpio.CpioEntry 유형의 항목을 가져옵니다.
public ReadOnlyCollection<cpioentry> Entries { get; }
속성 값
ReadOnlyCollection<CpioEntry>
메서드
CreateEntries(string, bool)
지정된 디렉터리의 모든 파일과 디렉터리를 재귀적으로 아카이브에 추가합니다.
public CpioArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
매개변수
sourceDirectory
string
압축할 디렉터리입니다.
includeRootDirectory
bool
루트 디렉터리 자체를 포함할지 여부를 나타냅니다.
반환
Cpio 항목 인스턴스입니다.
예제
using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
using (var archive = new CpioArchive())
{
archive.CreateEntries("C:\folder", false);
archive.Save(cpioFile);
}
}
예외
sourceDirectory
가 null입니다.
호출자가 sourceDirectory
에 액세스할 수 있는 권한이 없습니다.
sourceDirectory
에 “, <, > 또는 |와 같은 유효하지 않은 문자가 포함되어 있습니다.
지정된 경로, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하고 파일 이름은 260자 미만이어야 합니다. 지정된 경로, 파일 이름 또는 둘 다 너무 깁니다.
sourceDirectory
는 파일을 나타내며 디렉터리가 아닙니다.
CreateEntries(DirectoryInfo, bool)
지정된 디렉터리의 모든 파일과 디렉터리를 재귀적으로 아카이브에 추가합니다.
public CpioArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
매개변수
directory
DirectoryInfo
압축할 디렉터리입니다.
includeRootDirectory
bool
루트 디렉터리 자체를 포함할지 여부를 나타냅니다.
반환
Cpio 항목 인스턴스입니다.
예제
using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
using (var archive = new CpioArchive())
{
archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
archive.Save(cpioFile);
}
}
예외
directory
가 null입니다.
호출자가 directory
에 액세스할 수 있는 권한이 없습니다.
directory
는 파일을 나타내며 디렉터리가 아닙니다.
CreateEntry(string, FileInfo, bool)
아카이브 내에서 단일 항목을 생성합니다.
public CpioEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)
매개변수
name
string
항목의 이름입니다.
fileInfo
FileInfo
압축할 파일 또는 폴더의 메타데이터입니다.
openImmediately
bool
파일을 즉시 열면 true, 그렇지 않으면 아카이브 저장 시 파일을 엽니다.
반환
Cpio 항목 인스턴스입니다.
예제
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new CpioArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.cpio");
}
비고
openImmediately
매개변수로 파일을 즉시 열면 아카이브가 폐기될 때까지 차단됩니다.
예외
name
가 null입니다.
name
가 비어 있습니다.
fileInfo
가 null입니다.
CreateEntry(string, string, bool)
아카이브 내에서 단일 항목을 생성합니다.
public CpioEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)
매개변수
name
string
항목의 이름입니다.
sourcePath
string
압축할 파일의 경로입니다.
openImmediately
bool
파일을 즉시 열면 true, 그렇지 않으면 아카이브 저장 시 파일을 엽니다.
반환
Cpio 항목 인스턴스입니다.
예제
using (var archive = new CpioArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.cpio");
}
비고
항목 이름은 name
매개변수 내에서만 설정됩니다. sourcePath
매개변수에 제공된 파일 이름은 항목 이름에 영향을 미치지 않습니다.
openImmediately
매개변수로 파일을 즉시 열면 아카이브가 폐기될 때까지 차단됩니다.
예외
sourcePath
가 null입니다.
호출자가 액세스할 수 있는 권한이 없습니다.
sourcePath
가 비어 있거나 공백만 포함하거나 유효하지 않은 문자를 포함합니다. - 또는 - name
의 일부로 파일 이름이 100자를 초과합니다.
파일 sourcePath
에 대한 접근이 거부되었습니다.
지정된 sourcePath
, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하고 파일 이름은 260자 미만이어야 합니다. - 또는 - name
이 cpio에 대해 너무 깁니다.
sourcePath
에 문자열 중간에 콜론(:)이 포함되어 있습니다.
CreateEntry(string, Stream)
아카이브 내에서 단일 항목을 생성합니다.
public CpioEntry CreateEntry(string name, Stream source)
매개변수
name
string
항목의 이름입니다.
source
Stream
항목의 입력 스트림입니다.
반환
Cpio 항목 인스턴스입니다.
예제
using (var archive = new CpioArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.cpio");
}
예외
name
가 null입니다.
source
가 null입니다.
name
가 비어 있습니다.
DeleteEntry(CpioEntry)
특정 항목의 첫 번째 발생을 항목 목록에서 제거합니다.
public CpioArchive DeleteEntry(CpioEntry entry)
매개변수
entry
CpioEntry
항목 목록에서 제거할 항목입니다.
반환
Cpio 항목 인스턴스입니다.
예제
다음은 마지막 항목을 제외한 모든 항목을 제거하는 방법입니다:
using (var archive = new CpioArchive("archive.cpio"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputCpioFile);
}
예외
entry
가 null입니다.
DeleteEntry(int)
인덱스로 항목 목록에서 항목을 제거합니다.
public CpioArchive DeleteEntry(int entryIndex)
매개변수
entryIndex
int
제거할 항목의 0 기반 인덱스입니다.
반환
항목이 삭제된 아카이브입니다.
예제
using (var archive = new CpioArchive("two_files.cpio"))
{
archive.DeleteEntry(0);
archive.Save("single_file.cpio");
}
예외
entryIndex
가 0보다 작습니다.-또는- entryIndex
가 Entries
수와 같거나 더 큽니다.
Dispose()
비관리 리소스를 해제, 릴리스 또는 재설정하는 애플리케이션 정의 작업을 수행합니다.
public void Dispose()
Dispose(bool)
비관리 리소스를 해제, 릴리스 또는 재설정하는 애플리케이션 정의 작업을 수행합니다.
protected virtual void Dispose(bool disposing)
매개변수
disposing
bool
관리 리소스를 해제해야 하는지 여부입니다.
ExtractToDirectory(string)
아카이브의 모든 파일을 제공된 디렉터리로 추출합니다.
public void ExtractToDirectory(string destinationDirectory)
매개변수
destinationDirectory
string
추출된 파일을 배치할 디렉터리의 경로입니다.
예제
using (var archive = new CpioArchive("archive.cpio"))
{
archive.ExtractToDirectory("C:\extracted");
}
비고
디렉터리가 존재하지 않으면 생성됩니다.
예외
path가 null입니다.
지정된 경로, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하고 파일 이름은 260자 미만이어야 합니다.
호출자가 기존 디렉터리에 접근할 수 있는 권한이 없습니다.
디렉터리가 존재하지 않으면 경로에 드라이브 레이블(“C:")의 일부가 아닌 콜론 문자가 포함되어 있습니다.
path가 0 길이 문자열이거나 공백만 포함하거나 하나 이상의 유효하지 않은 문자가 포함됩니다. 유효하지 않은 문자를 쿼리하려면 System.IO.Path.GetInvalidPathChars 메서드를 사용하십시오. - 또는 - path가 접두사로 붙거나 콜론 문자(:)만 포함합니다.
지정된 경로의 디렉터리가 파일입니다. - 또는 - 네트워크 이름을 알 수 없습니다.
Save(string, CpioFormat)
제공된 대상 파일에 아카이브를 저장합니다.
public void Save(string destinationFileName, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
destinationFileName
string
생성할 아카이브의 경로입니다. 지정된 파일 이름이 기존 파일을 가리키면 덮어씁니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save("archive.cpio");
}
비고
아카이브를 로드한 경로와 동일한 경로에 저장할 수 있습니다. 그러나 이 접근 방식은 임시 파일로 복사하는 방식이기 때문에 권장되지 않습니다.
예외
destinationFileName
가 0 길이 문자열이거나 공백만 포함하거나 System.IO.Path.InvalidPathChars에 의해 정의된 하나 이상의 유효하지 않은 문자가 포함되어 있습니다.
destinationFileName
가 null입니다.
지정된 destinationFileName
, 파일 이름 또는 둘 다 시스템 정의 최대 길이를 초과합니다. 예를 들어, Windows 기반 플랫폼에서는 경로가 248자 미만이어야 하고 파일 이름은 260자 미만이어야 합니다.
지정된 destinationFileName
가 유효하지 않습니다(예: 매핑되지 않은 드라이브에 있을 수 있음).
파일을 여는 동안 I/O 오류가 발생했습니다.
destinationFileName
가 읽기 전용 파일을 지정했으며 접근이 읽기 전용이 아닙니다.-또는- 경로가 디렉터리를 지정했습니다.-또는- 호출자가 필요한 권한이 없습니다.
destinationFileName
가 잘못된 형식입니다.
Save(Stream, CpioFormat)
제공된 스트림에 아카이브를 저장합니다.
public void Save(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
output
Stream
대상 스트림입니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save(cpioFile);
}
}
비고
output
는 쓰기 가능해야 합니다.
예외
output
가 null입니다.
output
가 쓰기 불가능합니다. - 또는 - output
가 추출한 것과 동일한 스트림입니다.
- 또는 -
형식 제약으로 인해 cpioFormat
에서 아카이브를 저장할 수 없습니다.
SaveGzipped(Stream, CpioFormat)
gzip 압축으로 스트림에 아카이브를 저장합니다.
public void SaveGzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
output
Stream
대상 스트림입니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream result = File.OpenWrite("result.cpio.gz"))
{
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveGzipped(result);
}
}
}
비고
output
는 쓰기 가능해야 합니다.
예외
output
가 null입니다.
output
가 쓰기 불가능합니다.
SaveGzipped(string, CpioFormat)
gzip 압축으로 경로에 아카이브를 저장합니다.
public void SaveGzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
path
string
생성할 아카이브의 경로입니다. 지정된 파일 이름이 기존 파일을 가리키면 덮어씁니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveGzipped("result.cpio.gz");
}
}
SaveLZMACompressed(Stream, CpioFormat)
LZMA 압축으로 스트림에 아카이브를 저장합니다.
public void SaveLZMACompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
output
Stream
대상 스트림입니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream result = File.OpenWrite("result.cpio.lzma"))
{
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveLZMACompressed(result);
}
}
}
비고
output
는 쓰기 가능해야 합니다.
SaveLZMACompressed(string, CpioFormat)
LZMA 압축으로 경로에 아카이브를 저장합니다.
public void SaveLZMACompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
path
string
생성할 아카이브의 경로입니다. 지정된 파일 이름이 기존 파일을 가리키면 덮어씁니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveLZMACompressed("result.cpio.lzma");
}
}
비고
중요: cpio 아카이브는 이 메서드 내에서 구성된 다음 압축되며, 그 내용은 내부적으로 유지됩니다. 메모리 소비에 주의하십시오.
SaveLzipped(Stream, CpioFormat)
lzip 압축으로 스트림에 아카이브를 저장합니다.
public void SaveLzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
output
Stream
대상 스트림입니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream result = File.OpenWrite("result.cpio.lz"))
{
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveGzipped(result);
}
}
}
비고
output
는 쓰기 가능해야 합니다.
예외
output
가 null입니다.
output
가 쓰기 불가능합니다.
SaveLzipped(string, CpioFormat)
lzip 압축으로 경로에 아카이브를 저장합니다.
public void SaveLzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
path
string
생성할 아카이브의 경로입니다. 지정된 파일 이름이 기존 파일을 가리키면 덮어씁니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveGzipped("result.cpio.lz");
}
}
SaveXzCompressed(Stream, CpioFormat, XzArchiveSettings)
xz 압축으로 스트림에 아카이브를 저장합니다.
public void SaveXzCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)
매개변수
output
Stream
대상 스트림입니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
settings
XzArchiveSettings
특정 xz 아카이브의 설정 집합: 사전 크기, 블록 크기, 체크 유형입니다.
예제
using (FileStream result = File.OpenWrite("result.cpio.xz"))
{
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveXzCompressed(result);
}
}
}
비고
output
는 쓰기 가능해야 합니다.
예외
output
가 null입니다.
output
가 쓰기 불가능합니다.
SaveXzCompressed(string, CpioFormat, XzArchiveSettings)
xz 압축으로 경로에 아카이브를 저장합니다.
public void SaveXzCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)
매개변수
path
string
생성할 아카이브의 경로입니다. 지정된 파일 이름이 기존 파일을 가리키면 덮어씁니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
settings
XzArchiveSettings
특정 xz 아카이브의 설정 집합: 사전 크기, 블록 크기, 체크 유형입니다.
예제
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveXzCompressed("result.cpio.xz");
}
}
SaveZCompressed(Stream, CpioFormat)
Z 압축으로 스트림에 아카이브를 저장합니다.
public void SaveZCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
output
Stream
대상 스트림입니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream result = File.OpenWrite("result.cpio.Z"))
{
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveZCompressed(result);
}
}
}
비고
output
는 쓰기 가능해야 합니다.
예외
output
가 null입니다.
output
가 쓰기 불가능합니다.
SaveZCompressed(string, CpioFormat)
Z 압축으로 경로에 아카이브를 저장합니다.
public void SaveZCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
path
string
생성할 아카이브의 경로입니다. 지정된 파일 이름이 기존 파일을 가리키면 덮어씁니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveZCompressed("result.cpio.Z");
}
}
SaveZstandard(Stream, CpioFormat)
Zstandard 압축으로 스트림에 아카이브를 저장합니다.
public void SaveZstandard(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
output
Stream
대상 스트림입니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream result = File.OpenWrite("result.cpio.zst"))
{
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveZstandard(result);
}
}
}
비고
output
는 쓰기 가능해야 합니다.
예외
output
가 null입니다.
output
가 쓰기 불가능합니다.
SaveZstandard(string, CpioFormat)
Zstandard 압축으로 경로에 아카이브를 저장합니다.
public void SaveZstandard(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)
매개변수
path
string
생성할 아카이브의 경로입니다. 지정된 파일 이름이 기존 파일을 가리키면 덮어씁니다.
cpioFormat
CpioFormat
cpio 헤더 형식을 정의합니다.
예제
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new CpioArchive())
{
archive.CreateEntry("entry.bin", source);
archive.SaveZstandard("result.cpio.zst");
}
}