57 : arrow_fs_(std::move(arrow_fs)) {}
60 static std::unique_ptr<FileIO> MakeMockFileIO();
63 static std::unique_ptr<FileIO> MakeLocalFileIO();
68 Result<std::unique_ptr<InputFile>> NewInputFile(std::string file_location)
override;
71 Result<std::unique_ptr<InputFile>> NewInputFile(std::string file_location,
72 size_t length)
override;
75 Result<std::unique_ptr<OutputFile>> NewOutputFile(std::string file_location)
override;
78 Status DeleteFile(
const std::string& file_location)
override;
81 const std::shared_ptr<::arrow::fs::FileSystem>&
fs()
const {
return arrow_fs_; }
84 friend Result<std::shared_ptr<::arrow::io::RandomAccessFile>> OpenArrowInputStream(
85 const std::shared_ptr<FileIO>& io,
const std::string& path,
86 std::optional<size_t> length);
88 friend Result<std::shared_ptr<::arrow::io::OutputStream>> OpenArrowOutputStream(
89 const std::shared_ptr<FileIO>& io,
const std::string& path,
bool overwrite);
92 Result<std::string> ResolvePath(
const std::string& file_location);
94 std::shared_ptr<::arrow::fs::FileSystem> arrow_fs_;