32 #ifndef _QORE_FILEOUTPUTSTREAM_H 33 #define _QORE_FILEOUTPUTSTREAM_H 36 #include "qore/OutputStream.h" 45 f.
open2(xsink, fileName->
getBuffer(), O_WRONLY | (append ? O_APPEND : O_TRUNC) | O_CREAT, mode, encoding);
53 return "FileOutputStream";
64 xsink->
raiseException(
"FILE-CLOSE-ERROR",
"Error %d closing file", rc);
71 if (f.
write(ptr, count, xsink) != count) {
72 xsink->
raiseException(
"FILE-WRITE-ERROR",
"Error writing to file");
82 #endif // _QORE_FILEOUTPUTSTREAM_H defines string encoding functions in Qore
Definition: QoreEncoding.h:83
DLLLOCAL void close(ExceptionSink *xsink) override
Flushes any buffered (unwritten) bytes, closes the output stream and releases resources.
Definition: FileOutputStream.h:60
DLLEXPORT AbstractQoreNode * raiseException(const char *err, const char *fmt,...)
appends a Qore-language exception to the list
DLLLOCAL bool isClosed() override
Returns true is the stream has been closed.
Definition: FileOutputStream.h:56
Interface for private data of output streams.
Definition: OutputStream.h:44
Qore's string value type, reference counted, dynamically-allocated only.
Definition: QoreStringNode.h:50
DLLEXPORT const char * getBuffer() const
returns the string's buffer; this data should not be changed
provides controlled access to file data through Qore data structures
Definition: QoreFile.h:66
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:46
DLLEXPORT const QoreEncoding * getEncoding() const
returns the encoding used for the file
DLLLOCAL const char * getName() override
Returns the name of the class.
Definition: FileOutputStream.h:52
long long int64
64bit integer type, cannot use int64_t here since it breaks the API on some 64-bit systems due to equ...
Definition: common.h:260
DLLEXPORT int write(const QoreString *str, ExceptionSink *xsink)
writes string data to the file, character encoding is converted if necessary, and returns the number ...
Private data for the Qore::FileOutputStream class.
Definition: FileOutputStream.h:41
DLLEXPORT int open2(ExceptionSink *xsink, const char *fn, int flags=O_RDONLY, int mode=0777, const QoreEncoding *cs=QCS_DEFAULT)
opens the file and raises a Qore-language exception if an error occurs
DLLLOCAL void write(const void *ptr, int64 count, ExceptionSink *xsink) override
Writes bytes to the output stream.
Definition: FileOutputStream.h:68
DLLEXPORT int close()
closes the file
DLLEXPORT bool isOpen() const
returns true if the file is open, false if not