25 static bool Exists(
const fs::path& filePath) {
26 std::ifstream file(filePath, std::ios::in | std::ios::binary | std::ios::ate);
35 static std::vector<uint8_t>
ReadAllBytes(
const fs::path& filePath) {
36 std::ifstream file(filePath, std::ios::in | std::ios::binary | std::ios::ate);
39 return std::vector<uint8_t>();
42 int32_t fileSize = (int32_t)file.tellg();
45 std::vector<uint8_t> result;
48 data =
new char[fileSize];
49 file.read(data, fileSize);
50 result = std::vector<uint8_t>(data, data + fileSize);
51 }
catch (
const std::exception& e) {
67 std::ifstream file(filePath, std::ios::in | std::ios::binary | std::ios::ate);
68 int32_t fileSize = (int32_t)file.tellg();
74 data =
new char[fileSize + 1];
75 memset(data, 0, fileSize + 1);
76 file.read(data, fileSize);
77 str = std::string((
const char*)data);
78 }
catch (
const std::exception& e) {
93 static std::vector<std::string>
ReadAllLines(
const fs::path& filePath) {
95 std::vector<std::string> lines = StringHelper::Split(text,
"\n");
106 static void WriteAllBytes(
const fs::path& filePath,
const std::vector<uint8_t>& data) {
110 std::ofstream file(filePath, std::ios::binary);
111 file.write((
char*)data.data(), data.size());
120 static void WriteAllBytes(
const std::string& filePath,
const std::vector<char>& data) {
125 std::ofstream file(filePath, std::ios::binary);
126 file.write((
char*)data.data(), data.size());
136 static void WriteAllBytes(
const std::string& filePath,
const char* data,
int dataSize) {
140 std::ofstream file(filePath, std::ios::binary);
141 file.write((
char*)data, dataSize);
149 static void WriteAllText(
const fs::path& filePath,
const std::string& text) {
150 std::ofstream file(filePath, std::ios::out | std::ios::binary);
151 file.write(text.c_str(), text.size());
Utility class providing static helpers for reading and writing files on disk.
Definition FileHelper.h:18
static void WriteAllBytes(const std::string &filePath, const std::vector< char > &data)
Writes a char vector to a file, overwriting any existing content.
Definition FileHelper.h:120
static void WriteAllBytes(const std::string &filePath, const char *data, int dataSize)
Writes raw data to a file from a pointer and size, overwriting any existing content.
Definition FileHelper.h:136
static bool Exists(const fs::path &filePath)
Checks whether a file exists and is readable.
Definition FileHelper.h:25
static std::vector< uint8_t > ReadAllBytes(const fs::path &filePath)
Reads the entire contents of a file into a byte vector.
Definition FileHelper.h:35
static void WriteAllText(const fs::path &filePath, const std::string &text)
Writes a string to a file as text, overwriting any existing content.
Definition FileHelper.h:149
static void WriteAllBytes(const fs::path &filePath, const std::vector< uint8_t > &data)
Writes a byte vector to a file, overwriting any existing content.
Definition FileHelper.h:106
static std::vector< std::string > ReadAllLines(const fs::path &filePath)
Reads a file and splits it into lines.
Definition FileHelper.h:93
static std::string ReadAllText(const fs::path &filePath)
Reads the entire contents of a file as a text string.
Definition FileHelper.h:66
static fs::path GetDirectoryName(const fs::path &path)
Returns the parent directory of the given path.
Definition PathHelper.h:81
Core namespace for the libultraship engine framework.
Definition gfx_direct3d_common.h:14