tesseract 4.1.1
Loading...
Searching...
No Matches
tesseract::File Class Reference

#include <fileio.h>

Static Public Member Functions

static FILE * OpenOrDie (const std::string &filename, const std::string &mode)
 
static FILE * Open (const std::string &filename, const std::string &mode)
 
static void WriteStringToFileOrDie (const std::string &str, const std::string &filename)
 
static bool Readable (const std::string &filename)
 
static bool ReadFileToString (const std::string &filename, std::string *out)
 
static std::string JoinPath (const std::string &prefix, const std::string &suffix)
 
static bool Delete (const char *pathname)
 
static bool DeleteMatchingFiles (const char *pattern)
 

Detailed Description

Definition at line 43 of file fileio.h.

Member Function Documentation

◆ Delete()

bool tesseract::File::Delete ( const char *  pathname)
static

Definition at line 92 of file fileio.cpp.

92 {
93#if !defined(_WIN32) || defined(__MINGW32__)
94 const int status = unlink(pathname);
95#else
96 const int status = _unlink(pathname);
97#endif
98 if (status != 0) {
99 tprintf("ERROR: Unable to delete file '%s$: %s\n", pathname,
100 strerror(errno));
101 return false;
102 }
103 return true;
104}
DLLSYM void tprintf(const char *format,...)
Definition: tprintf.cpp:35

◆ DeleteMatchingFiles()

bool tesseract::File::DeleteMatchingFiles ( const char *  pattern)
static

Definition at line 121 of file fileio.cpp.

121 {
122 glob_t pglob;
123 char **paths;
124 bool all_deleted = true;
125 if (glob(pattern, 0, nullptr, &pglob) == 0) {
126 for (paths = pglob.gl_pathv; *paths != nullptr; paths++) {
127 all_deleted &= File::Delete(*paths);
128 }
129 globfree(&pglob);
130 }
131 return all_deleted;
132}
static bool Delete(const char *pathname)
Definition: fileio.cpp:92

◆ JoinPath()

std::string tesseract::File::JoinPath ( const std::string &  prefix,
const std::string &  suffix 
)
static

Definition at line 86 of file fileio.cpp.

86 {
87 return (prefix.empty() || prefix[prefix.size() - 1] == '/')
88 ? prefix + suffix
89 : prefix + "/" + suffix;
90}

◆ Open()

FILE * tesseract::File::Open ( const std::string &  filename,
const std::string &  mode 
)
static

Definition at line 42 of file fileio.cpp.

42 {
43 return fopen(filename.c_str(), mode.c_str());
44}

◆ OpenOrDie()

FILE * tesseract::File::OpenOrDie ( const std::string &  filename,
const std::string &  mode 
)
static

Definition at line 46 of file fileio.cpp.

47 {
48 FILE* stream = fopen(filename.c_str(), mode.c_str());
49 if (stream == nullptr) {
50 tprintf("Unable to open '%s' in mode '%s': %s\n", filename.c_str(),
51 mode.c_str(), strerror(errno));
52 }
53 return stream;
54}

◆ Readable()

bool tesseract::File::Readable ( const std::string &  filename)
static

Definition at line 68 of file fileio.cpp.

68 {
69 FILE* stream = fopen(filename.c_str(), "rb");
70 if (stream == nullptr) {
71 return false;
72 }
73 fclose(stream);
74 return true;
75}

◆ ReadFileToString()

bool tesseract::File::ReadFileToString ( const std::string &  filename,
std::string *  out 
)
static

Definition at line 77 of file fileio.cpp.

77 {
78 FILE* stream = File::Open(filename.c_str(), "rb");
79 if (stream == nullptr) return false;
80 InputBuffer in(stream);
81 *out = "";
82 in.Read(out);
83 return in.CloseFile();
84}
static FILE * Open(const std::string &filename, const std::string &mode)
Definition: fileio.cpp:42

◆ WriteStringToFileOrDie()

void tesseract::File::WriteStringToFileOrDie ( const std::string &  str,
const std::string &  filename 
)
static

Definition at line 56 of file fileio.cpp.

57 {
58 FILE* stream = fopen(filename.c_str(), "wb");
59 if (stream == nullptr) {
60 tprintf("Unable to open '%s' for writing: %s\n",
61 filename.c_str(), strerror(errno));
62 return;
63 }
64 fputs(str.c_str(), stream);
65 ASSERT_HOST(fclose(stream) == 0);
66}
#define ASSERT_HOST(x)
Definition: errcode.h:88

The documentation for this class was generated from the following files: