]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/save/xml/ByteBuffer.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / save / xml / ByteBuffer.java
diff --git a/tim/prune/save/xml/ByteBuffer.java b/tim/prune/save/xml/ByteBuffer.java
deleted file mode 100644 (file)
index 67091e1..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-package tim.prune.save.xml;
-
-import java.nio.charset.Charset;
-
-/**
- * Class to collect the bytes from an input stream
- * and turn them into a String
- */
-public class ByteBuffer
-{
-       // Array of bytes
-       private byte[] _bytes = new byte[1024];
-       // Current position to append
-       private int _currPos = 0;
-       // Flag for recognising utf8 encoded streams
-       private boolean _streamUtf8 = false;
-       // Flag for whether system is utf8 or not
-       private final boolean _systemUtf8 = XmlUtils.isSystemUtf8();
-
-       /**
-        * Append the given byte to the buffer
-        * @param inB byte to append
-        */
-       public void appendByte(byte inB)
-       {
-               // Resize array if necessary
-               if (_currPos >= _bytes.length)
-               {
-                       byte[] bigger = new byte[_bytes.length * 2];
-                       System.arraycopy(_bytes, 0, bigger, 0, _bytes.length);
-                       _bytes = bigger;
-               }
-               // Append byte and increment counter
-               _bytes[_currPos] = inB;
-               _currPos++;
-       }
-
-       /**
-        * Clear the buffer and reset
-        */
-       public void clear()
-       {
-               _currPos = 0;
-               // Reduce size back to default if it's got too big
-               if (_bytes.length > 5000) {
-                       _bytes = new byte[1024];
-               }
-       }
-
-       /**
-        * Set the flag that this stream is encoded with utf8
-        */
-       public void setEncodingUtf8() {
-               _streamUtf8 = true;
-       }
-
-       /**
-        * @return contents of buffer as a String
-        */
-       public String toString()
-       {
-               // Sometimes the encoding of the read file isn't the default encoding of the system
-               if (_streamUtf8 && !_systemUtf8)
-               {
-                       return new String(_bytes, 0, _currPos, Charset.forName("UTF-8"));
-               }
-               // Otherwise just use system encoding
-               return new String(_bytes, 0, _currPos);
-       }
-
-       /**
-        * Look for the given character sequence in the last characters read
-        * @param inChars sequence to look for
-        * @return true if sequence found
-        */
-       public boolean foundSequence(char[] inChars)
-       {
-               final int numChars = inChars.length;
-               if (_currPos < numChars) {return false;}
-               for (int i=0; i<numChars; i++)
-               {
-                       char searchChar = inChars[numChars - 1 - i];
-                       char sourceChar = (char) _bytes[_currPos - 1 - i];
-                       if (searchChar != sourceChar) {return false;}
-               }
-               return true;
-       }
-}