Class SharArchive
Namespace: Aspose.Zip.Shar
Assembly: Aspose.Zip.dll (25.1.0)
Lớp này đại diện cho tệp lưu trữ shar.
public class SharArchive : IDisposable
Kế thừa
Thực hiện
Các thành viên kế thừa
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Các hàm khởi tạo
SharArchive()
Khởi tạo một thể hiện mới của lớp Aspose.Zip.Shar.SharArchive.
public SharArchive()
Ví dụ
Ví dụ sau đây cho thấy cách nén một tệp.
using (var archive = new SharArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.shar");
}
SharArchive(string)
Khởi tạo một thể hiện mới của lớp Aspose.Zip.Shar.SharArchive đã chuẩn bị để giải nén.
public SharArchive(string path)
Tham số
path
string
Đường dẫn đến nguồn của tệp lưu trữ.
Ngoại lệ
path
là null.
Người gọi không có quyền truy cập cần thiết.
path
là rỗng, chỉ chứa khoảng trắng hoặc chứa các ký tự không hợp lệ.
Quyền truy cập vào tệp path
bị từ chối.
path
, tên tệp hoặc cả hai vượt quá chiều dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải ít hơn 248 ký tự và tên tệp phải ít hơn 260 ký tự.
Tệp tại path
chứa một dấu hai chấm (:) ở giữa chuỗi.
Tệp không được tìm thấy.
Đường dẫn được chỉ định không hợp lệ, chẳng hạn như nằm trên một ổ đĩa không được ánh xạ.
Tệp đã được mở.
Thuộc tính
Entries
Lấy các mục của loại Aspose.Zip.Shar.SharEntry cấu thành lưu trữ.
public ReadOnlyCollection<sharentry> Entries { get; }
Giá trị thuộc tính
ReadOnlyCollection<SharEntry>
Phương thức
CreateEntries(string, bool)
Thêm vào lưu trữ tất cả các tệp và thư mục một cách đệ quy trong thư mục đã cho.
public SharArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Tham số
sourceDirectory
string
Thư mục để nén.
includeRootDirectory
bool
Chỉ định xem có bao gồm thư mục gốc hay không.
Trả về
Thể hiện Shar entry.
Ví dụ
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntries("C:\folder", false);
archive.Save(sharFile);
}
}
Ngoại lệ
sourceDirectory
là null.
Người gọi không có quyền truy cập cần thiết vào sourceDirectory
.
sourceDirectory
chứa các ký tự không hợp lệ như “, <, > hoặc |.
path
, tên tệp hoặc cả hai vượt quá chiều dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải ít hơn 248 ký tự và tên tệp phải ít hơn 260 ký tự. path
, tên tệp hoặc cả hai quá dài.
sourceDirectory
đại diện cho một tệp, không phải cho một thư mục.
CreateEntries(DirectoryInfo, bool)
Thêm vào lưu trữ tất cả các tệp và thư mục một cách đệ quy trong thư mục đã cho.
public SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Tham số
directory
DirectoryInfo
Thư mục để nén.
includeRootDirectory
bool
Chỉ định xem có bao gồm thư mục gốc hay không.
Trả về
Thể hiện Shar entry.
Ví dụ
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
archive.Save(sharFile);
}
}
Ngoại lệ
directory
là null.
Người gọi không có quyền truy cập cần thiết vào directory
.
directory
đại diện cho một tệp, không phải cho một thư mục.
CreateEntry(string, FileInfo, bool)
Tạo một mục đơn trong lưu trữ.
public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)
Tham số
name
string
Tên của mục.
fileInfo
FileInfo
Siêu dữ liệu của tệp hoặc thư mục cần nén.
openImmediately
bool
True nếu mở tệp ngay lập tức, ngược lại mở tệp khi lưu lưu trữ.
Trả về
Thể hiện Shar entry.
Ví dụ
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new SharArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.shar");
}
Nhận xét
Nếu tệp được mở ngay lập tức với tham số openImmediately
, nó sẽ bị chặn cho đến khi lưu trữ được giải phóng.
Ngoại lệ
name
là null.
name
là rỗng.
fileInfo
là null.
CreateEntry(string, string, bool)
Tạo một mục đơn trong lưu trữ.
public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)
Tham số
name
string
Tên của mục.
sourcePath
string
Đường dẫn đến tệp cần nén.
openImmediately
bool
True nếu mở tệp ngay lập tức, ngược lại mở tệp khi lưu lưu trữ.
Trả về
Thể hiện Shar entry.
Ví dụ
using (var archive = new SharArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.shar");
}
Nhận xét
Tên mục chỉ được thiết lập trong tham số name
. Tên tệp được cung cấp trong tham số sourcePath
không ảnh hưởng đến tên mục.
Nếu tệp được mở ngay lập tức với tham số openImmediately
, nó sẽ bị chặn cho đến khi lưu trữ được giải phóng.
Ngoại lệ
sourcePath
là null.
Người gọi không có quyền truy cập cần thiết.
sourcePath
là rỗng, chỉ chứa khoảng trắng hoặc chứa các ký tự không hợp lệ. - hoặc - Tên tệp, như một phần của name
, vượt quá 100 ký tự.
Quyền truy cập vào tệp sourcePath
bị từ chối.
sourcePath
, tên tệp hoặc cả hai vượt quá chiều dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải ít hơn 248 ký tự và tên tệp phải ít hơn 260 ký tự. - hoặc - name
quá dài cho shar.
Tệp tại sourcePath
chứa một dấu hai chấm (:) ở giữa chuỗi.
CreateEntry(string, Stream)
Tạo một mục đơn trong lưu trữ.
public SharEntry CreateEntry(string name, Stream source)
Tham số
name
string
Tên của mục.
source
Stream
Luồng đầu vào cho mục.
Trả về
Thể hiện Shar entry.
Ví dụ
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Ngoại lệ
name
là null.
source
là null.
name
là rỗng.
DeleteEntry(SharEntry)
Xóa lần xuất hiện đầu tiên của một mục cụ thể khỏi danh sách các mục.
public SharArchive DeleteEntry(SharEntry entry)
Tham số
entry
SharEntry
Mục cần xóa khỏi danh sách các mục.
Trả về
Thể hiện Shar entry.
Ví dụ
Dưới đây là cách bạn có thể xóa tất cả các mục ngoại trừ mục cuối cùng:
using (var archive = new SharArchive("archive.shar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Ngoại lệ
entry
là null.
DeleteEntry(int)
Xóa mục khỏi danh sách các mục theo chỉ số.
public SharArchive DeleteEntry(int entryIndex)
Tham số
entryIndex
int
Chỉ số bắt đầu từ 0 của mục cần xóa.
Trả về
Lưu trữ với mục đã bị xóa.
Ví dụ
using (var archive = new SharArchive("two_files.shar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.shar");
}
Ngoại lệ
entryIndex
nhỏ hơn 0.-hoặc- entryIndex
bằng hoặc lớn hơn số lượng Entries
.
Dispose(bool)
Thực hiện các tác vụ do ứng dụng xác định liên quan đến việc giải phóng, giải phóng hoặc đặt lại các tài nguyên không quản lý.
protected virtual void Dispose(bool disposing)
Tham số
disposing
bool
Liệu các tài nguyên được quản lý có nên được giải phóng.
Dispose()
Thực hiện các tác vụ do ứng dụng xác định liên quan đến việc giải phóng, giải phóng hoặc đặt lại các tài nguyên không quản lý.
public void Dispose()
Save(string)
Lưu lưu trữ vào tệp đích được cung cấp.
public void Save(string destinationFileName)
Tham số
destinationFileName
string
Đường dẫn của lưu trữ sẽ được tạo. Nếu tên tệp được chỉ định trỏ đến một tệp hiện có, nó sẽ bị ghi đè.
Ví dụ
using (var archive = new SharArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save("archive.shar");
}
Nhận xét
Có thể lưu lưu trữ vào cùng một đường dẫn mà nó đã được tải từ. Tuy nhiên, điều này không được khuyến nghị vì phương pháp này sử dụng sao chép vào tệp tạm thời.
Ngoại lệ
destinationFileName
là một chuỗi có độ dài bằng 0, chỉ chứa khoảng trắng hoặc chứa một hoặc nhiều ký tự không hợp lệ như được xác định bởi System.IO.Path.InvalidPathChars.
destinationFileName
là null.
destinationFileName
, tên tệp hoặc cả hai vượt quá chiều dài tối đa do hệ thống xác định. Ví dụ, trên các nền tảng dựa trên Windows, đường dẫn phải ít hơn 248 ký tự và tên tệp phải ít hơn 260 ký tự.
destinationFileName
không hợp lệ, (ví dụ, nó nằm trên một ổ đĩa không được ánh xạ).
Một lỗi I/O đã xảy ra trong khi mở tệp.
destinationFileName
chỉ định một tệp chỉ đọc và quyền truy cập không phải là Đọc.-hoặc- đường dẫn chỉ định một thư mục.-hoặc- Người gọi không có quyền truy cập cần thiết.
destinationFileName
ở định dạng không hợp lệ.
Tệp không được tìm thấy.
Save(Stream)
Lưu lưu trữ vào luồng được cung cấp.
public void Save(Stream output)
Tham số
output
Stream
Luồng đích.
Ví dụ
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save(sharFile);
}
}
Nhận xét
output
phải có thể ghi.
Ngoại lệ
output
là null.
output
không thể ghi. - hoặc - output
là cùng một luồng mà chúng ta trích xuất từ.