tesseract  4.1.0
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 29 of file fileio.h.

Member Function Documentation

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

Definition at line 89 of file fileio.cpp.

89  {
90 #if !defined(_WIN32) || defined(__MINGW32__)
91  const int status = unlink(pathname);
92 #else
93  const int status = _unlink(pathname);
94 #endif
95  if (status != 0) {
96  tprintf("ERROR: Unable to delete file %s\n", pathname);
97  return false;
98  }
99  return true;
100 }
DLLSYM void tprintf(const char *format,...)
Definition: tprintf.cpp:36
bool tesseract::File::DeleteMatchingFiles ( const char *  pattern)
static

Definition at line 117 of file fileio.cpp.

117  {
118  glob_t pglob;
119  char **paths;
120  bool all_deleted = true;
121  if (glob(pattern, 0, nullptr, &pglob) == 0) {
122  for (paths = pglob.gl_pathv; *paths != nullptr; paths++) {
123  all_deleted &= File::Delete(*paths);
124  }
125  globfree(&pglob);
126  }
127  return all_deleted;
128 }
static bool Delete(const char *pathname)
Definition: fileio.cpp:89
std::string tesseract::File::JoinPath ( const std::string &  prefix,
const std::string &  suffix 
)
static

Definition at line 83 of file fileio.cpp.

83  {
84  return (prefix.empty() || prefix[prefix.size() - 1] == '/')
85  ? prefix + suffix
86  : prefix + "/" + suffix;
87 }
FILE * tesseract::File::Open ( const std::string &  filename,
const std::string &  mode 
)
static

Definition at line 40 of file fileio.cpp.

40  {
41  return fopen(filename.c_str(), mode.c_str());
42 }
FILE * tesseract::File::OpenOrDie ( const std::string &  filename,
const std::string &  mode 
)
static

Definition at line 44 of file fileio.cpp.

45  {
46  FILE* stream = fopen(filename.c_str(), mode.c_str());
47  if (stream == nullptr) {
48  tprintf("Unable to open '%s' in mode '%s'\n", filename.c_str(),
49  mode.c_str());
50  }
51  return stream;
52 }
DLLSYM void tprintf(const char *format,...)
Definition: tprintf.cpp:36
bool tesseract::File::Readable ( const std::string &  filename)
static

Definition at line 65 of file fileio.cpp.

65  {
66  FILE* stream = fopen(filename.c_str(), "rb");
67  if (stream == nullptr) {
68  return false;
69  }
70  fclose(stream);
71  return true;
72 }
bool tesseract::File::ReadFileToString ( const std::string &  filename,
std::string *  out 
)
static

Definition at line 74 of file fileio.cpp.

74  {
75  FILE* stream = File::Open(filename.c_str(), "rb");
76  if (stream == nullptr) return false;
77  InputBuffer in(stream);
78  *out = "";
79  in.Read(out);
80  return in.CloseFile();
81 }
static FILE * Open(const std::string &filename, const std::string &mode)
Definition: fileio.cpp:40
void tesseract::File::WriteStringToFileOrDie ( const std::string &  str,
const std::string &  filename 
)
static

Definition at line 54 of file fileio.cpp.

55  {
56  FILE* stream = fopen(filename.c_str(), "wb");
57  if (stream == nullptr) {
58  tprintf("Unable to open '%s' for writing\n", filename.c_str());
59  return;
60  }
61  fputs(str.c_str(), stream);
62  ASSERT_HOST(fclose(stream) == 0);
63 }
DLLSYM void tprintf(const char *format,...)
Definition: tprintf.cpp:36
#define ASSERT_HOST(x)
Definition: errcode.h:88

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