CoreUtils/File.h
2024-12-23 13:00:22 -08:00

45 lines
830 B
C++

#ifndef __File_h__
#define __File_h__
#include <string>
#include <fcntl.h>
#include "ZString.h"
///
/// File
///
/// File abstraction class for accessing local file system files.
///
namespace coreutils {
class File {
public:
File(ZString fileName, int mode = O_RDONLY, int authority = 0664);
virtual ~File();
void setBufferSize(size_t size);
int read();
int readLine();
void write(std::string data);
void write(coreutils::ZString &data);
std::string asString();
coreutils::ZString asZString();
char *buffer;
size_t size;
bool eof();
coreutils::ZString fileName;
private:
void open(coreutils::ZString fileName, int mode, int authority);
int fd;
coreutils::ZString zstring;
bool mEof = false;
};
}
#endif