Class Utf8RecodingDeferredFileOutputStream


  • final class Utf8RecodingDeferredFileOutputStream
    extends java.lang.Object
    A deferred file output stream decorator that recodes the bytes written into the stream from the VM default encoding to UTF-8.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.nio.ByteBuffer cache  
      static int CACHE_SIZE  
      private java.lang.String channel  
      private boolean closed  
      private java.nio.file.Path file  
      private boolean isDirty  
      private java.lang.ref.SoftReference<byte[]> largeCache  
      private static byte[] NL_BYTES  
      private java.io.RandomAccessFile storage  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void free()  
      long getByteCount()  
      private byte[] getLargeCache​(int minLength)  
      private void sync()  
      void write​(java.lang.String output, boolean newLine)  
      void writeTo​(java.io.OutputStream out)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NL_BYTES

        private static final byte[] NL_BYTES
      • channel

        private final java.lang.String channel
      • file

        private java.nio.file.Path file
      • storage

        private java.io.RandomAccessFile storage
      • closed

        private boolean closed
      • largeCache

        private java.lang.ref.SoftReference<byte[]> largeCache
      • cache

        private java.nio.ByteBuffer cache
      • isDirty

        private boolean isDirty
    • Constructor Detail

      • Utf8RecodingDeferredFileOutputStream

        Utf8RecodingDeferredFileOutputStream​(java.lang.String channel)
    • Method Detail

      • write

        public void write​(java.lang.String output,
                          boolean newLine)
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • getByteCount

        public long getByteCount()
      • writeTo

        public void writeTo​(java.io.OutputStream out)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • free

        public void free()
      • sync

        private void sync()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • getLargeCache

        private byte[] getLargeCache​(int minLength)