segment

package
v0.0.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AppendSegmentToFile

func AppendSegmentToFile(file *os.File, segmentType string, data []byte, xref *FileXref) error

AppendSegmentToFile 函数

func AppendSegmentsToFile

func AppendSegmentsToFile(file *os.File, segments map[string][]byte, xref *FileXref) error

AppendSegmentsToFile 函数

func ReadFieldFromBytes

func ReadFieldFromBytes(data []byte, fieldType string, xref *FileXref) ([]byte, error)

ReadFieldFromBytes 从字节切片中读取指定的单个字段。 data: 字节切片数据。 fieldType: 要读取的字段类型。 xref: 文件交叉引用表。 返回读取的字段数据和可能出现的错误。

func ReadFieldsFromBytes

func ReadFieldsFromBytes(data []byte, fieldTypes []string, xref *FileXref) (map[string]*SegmentReadResult, error)

ReadFieldsFromBytes 从字节切片中批量读取多个字段。 data: 字节切片数据。 fieldTypes: 要读取的字段类型列表。 xref: 文件交叉引用表。 返回读取的字段数据集合和可能出现的错误。

func ReadSegmentToBuffer

func ReadSegmentToBuffer(buffer *bytes.Buffer, segmentType string, xref *FileXref) ([]byte, error)

ReadSegmentToBuffer 从缓冲区中读取指定的单个段

func ReadSegmentsFromBuffer

func ReadSegmentsFromBuffer(buffer *bytes.Buffer, segmentTypes []string, xref *FileXref) (map[string]*SegmentReadResult, error)

ReadSegmentFromBuffer 从缓冲区中批量读取多个段

func SaveAndClose

func SaveAndClose(file *os.File, xref *FileXref) error

SaveAndClose 保存 xref 表并关闭文件

func WriteFileSegment

func WriteFileSegment(filePath string, data map[string][]byte) error

WriteFileSegment 创建新文件并将数据写入

func WriteSegmentToBuffer

func WriteSegmentToBuffer(buffer *bytes.Buffer, segmentType string, data []byte, xref *FileXref) error

WriteSegmentToBuffer 将段写入缓冲区

func WriteSegmentToFile

func WriteSegmentToFile(file *os.File, segmentType string, data []byte, xref *FileXref) error

WriteSegment 将段写入文件

func WriteSegmentsToBuffer

func WriteSegmentsToBuffer(buffer *bytes.Buffer, segments map[string][]byte, xref *FileXref) error

WriteSegmentsToBuffer 批量将段写入缓冲区

func WriteSegmentsToFile

func WriteSegmentsToFile(file *os.File, segments map[string][]byte, xref *FileXref) error

WriteSegmentsToFile 批量将段写入文件

Types

type FileXref

type FileXref struct {
	XrefTable map[string]XrefEntry // xref 表
	StartXref int64                // startxref 的位置
	// contains filtered or unexported fields
}

FileXref 结构体用于跟踪单个文件的 xref 表和 startxref 的位置

func LoadXref

func LoadXref(file *os.File) (*FileXref, error)

LoadXref 从文件加载 xref 表

func LoadXrefFromBuffer

func LoadXrefFromBuffer(reader io.Reader) (*FileXref, error)

LoadXrefFromBuffer 从缓冲区加载 xref 表

func LoadXrefFromFile

func LoadXrefFromFile(file *os.File) (*FileXref, error)

LoadXrefFromFile 从文件加载 xref 表

func NewFileXref

func NewFileXref() *FileXref

NewFileXref 创建一个新的 FileXref 对象,并初始化 xref 表

func ReadFileSegment

func ReadFileSegment(file *os.File, segmentType string) ([]byte, *FileXref, error)

ReadFileSegment 从指定文件中读取一个指定的段

func ReadFileSegments

func ReadFileSegments(file *os.File, segmentTypes []string, fileXref ...*FileXref) (map[string]*SegmentReadResult, *FileXref, error)

ReadFileSegments 从指定文件中读取一个或多个段

type SegmentReadResult

type SegmentReadResult struct {
	Data  []byte
	Error error
}

SegmentReadResult 用于表示单个段的读取结果

type XrefEntry

type XrefEntry struct {
	Offset int64  // 偏移量
	Length uint32 // 长度
}

XrefEntry 结构体用于保存每个段的偏移量和长度

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL