Added read write functions to file class

main
anulax1225 ago%!(EXTRA string=1 year)
parent ec69296691
commit 1905e46484
  1. 23
      src/bakatools/file_system/file.cpp
  2. 4
      src/bakatools/file_system/file.h

@ -10,4 +10,27 @@ namespace Bk::Tools {
{
if (exists()) std::filesystem::copy_file(ent.path(), path, opt);
}
DataStream File::read(int size)
{
std::vector<char> data;
if(exists())
{
std::ifstream ifrm(ent.path(), std::ios::binary);
data.resize(size);
ifrm.read(data.data(), data.size());
return DataStream(data);
}
}
bool File::write(DataStream stream)
{
try
{
std::ofstream ofrm(ent.path(), std::ios::binary);
ofrm.write(stream.payload.data(), stream.payload.size());
return true;
} catch return false;
}
}

@ -1,6 +1,7 @@
#pragma once
#include <bakatoolspch.h>
#include <bakatools/container/data_stream.h>
#include "dir_entry.h"
namespace Bk::Tools {
@ -19,6 +20,9 @@ namespace Bk::Tools {
int remove() override;
void copy(std::string path, CopyOption opt = CopyOption::overwrite_existing) override;
DataStream read(int size = size());
bool write(DataStream stream);
BK_DIR_ENTRY_TYPE(regular)
};
}
Loading…
Cancel
Save