| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package filesystem
- import (
- "github.com/v2fly/v2ray-core/v4/common/platform/filesystem/fsifce"
- "io"
- "os"
- "github.com/v2fly/v2ray-core/v4/common/buf"
- "github.com/v2fly/v2ray-core/v4/common/platform"
- )
- var NewFileSeeker fsifce.FileSeekerFunc = func(path string) (io.ReadSeekCloser, error) {
- return os.Open(path)
- }
- var NewFileReader fsifce.FileReaderFunc = func(path string) (io.ReadCloser, error) {
- return os.Open(path)
- }
- var NewFileWriter fsifce.FileWriterFunc = func(path string) (io.WriteCloser, error) {
- return os.Create(path)
- }
- func ReadFile(path string) ([]byte, error) {
- reader, err := NewFileReader(path)
- if err != nil {
- return nil, err
- }
- defer reader.Close()
- return buf.ReadAllToBytes(reader)
- }
- func WriteFile(path string, payload []byte) error {
- writer, err := NewFileWriter(path)
- if err != nil {
- return err
- }
- defer writer.Close()
- return buf.WriteAllBytes(writer, payload)
- }
- func ReadAsset(file string) ([]byte, error) {
- return ReadFile(platform.GetAssetLocation(file))
- }
- func CopyFile(dst string, src string) error {
- bytes, err := ReadFile(src)
- if err != nil {
- return err
- }
- f, err := os.OpenFile(dst, os.O_CREATE|os.O_WRONLY, 0o644)
- if err != nil {
- return err
- }
- defer f.Close()
- _, err = f.Write(bytes)
- return err
- }
|