Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
2.6 kB · 87 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687#include "stdafx.h"
#include "BufferedOutputStream.h"
//Creates a new buffered output stream to write data to the specified underlying output stream with the specified buffer size.//Parameters://out - the underlying output stream.//size - the buffer size.BufferedOutputStream::BufferedOutputStream(OutputStream *out, int size){ stream = out; buf = byteArray( size ); count = 0;}
BufferedOutputStream::~BufferedOutputStream(){ delete buf.data;}
//Flushes this buffered output stream. This forces any buffered output bytes to be written out to the underlying output stream.void BufferedOutputStream::flush(){ stream->write( buf, 0, count );
count = 0;}
//Closes this output stream and releases any system resources associated with the stream.//The close method of FilterOutputStream calls its flush method, and then calls the close method of its underlying output stream.void BufferedOutputStream::close(){ flush(); stream->close();}
//Writes len bytes from the specified byte array starting at offset off to this buffered output stream.//Ordinarily this method stores bytes from the given array into this stream's buffer, flushing the buffer to the//underlying output stream as needed. If the requested length is at least as large as this stream's buffer, however,//then this method will flush the buffer and write the bytes directly to the underlying output stream.//Thus redundant BufferedOutputStreams will not copy data unnecessarily.////Overrides://write in class FilterOutputStream//Parameters://b - the data.//off - the start offset in the data.//len - the number of bytes to write.void BufferedOutputStream::write(byteArray b, unsigned int offset, unsigned int length){ // Over the length of what we can store in our buffer - just flush the buffer and output directly if( length >= buf.length ) { flush(); stream->write(b, offset, length); } else { for(unsigned int i = 0; i < length; i++ ) { write( b[offset+i] ); } }}
//Writes b.length bytes to this output stream.//The write method of FilterOutputStream calls its write method of three arguments with the arguments b, 0, and b.length.////Note that this method does not call the one-argument write method of its underlying stream with the single argument b.void BufferedOutputStream::write(byteArray b){ write( b, 0, b.length );}
//Writes the specified byte to this buffered output stream.//Overrides://write in class FilterOutputStream//Parameters://b - the byte to be written.void BufferedOutputStream::write(unsigned int b){ buf[count++] = (byte) b; if( count == buf.length ) { flush(); }}