Class LzssOutputStream

java.lang.Object
java.io.OutputStream
jp.gr.java_conf.dangan.util.lha.LzssOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class LzssOutputStream extends OutputStream
?f?[?^?? LZSS???k???????? ?w???????? PostLzssEncoder ???o?????????k?p?o???X?g???[???B
 -- revision history --
 $Log: LzssOutputStream.java,v $
 Revision 1.2  2002/12/06 00:00:00  dangan
 [change]
     flush() ?? write() ???????S?????f?[?^?? 
     ???}?????? PostLzssEncoder ???o?????????????C???B
 [maintenance]
     slide???????? DictionarySize ?o?C?g?????????????C???B

 Revision 1.1  2002/10/20 00:00:00  dangan
 [bug fix]
     ?????????? flush() ?????? ?A?}?? flush() ??????
     ( lastsearchret ?? NEEDSEARCH ?????? encode() ???????????? )
     ?????? 1?o?C?g????????????B
     flush() ???? putLength() ???l??????????????????
     ?????@?\???j???????????? searchAndPut ???s????????????C???B
     flush() ???? TextBuffer ????????MaxMatch?o?C?g???f?[?^???o????????????????B

 Revision 1.0  2002/07/25 00:00:00  dangan
 add to version control
 [bug fix]
     getMatchLen() ?? searchret >> 22 ?????~?????}???? 
     searchret >>> 22 ????????????????C???B
 [maintenance]
     LhaUtil.createInstance() ???g?p??????
     ???????? Factory.createInstance() ???g?p?????B
     ?\?[?X????
     ?^?u?p?~
     ???C?Z???X????C??

 
Version:
$Revision: 1.2 $
Author:
$Author: dangan $
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    searchret ???}???l???????????A ???????????A???l?????????v???????????????????????????B
  • Constructor Summary

    Constructors
    Constructor
    Description
    write() ?????????????}???????f?[?^?? LZSS?????k???A???k?????f?[?^?? encoder???o?????? ?o???X?g???[?????\?z?????B
    LzssOutputStream(PostLzssEncoder encoder, String LzssSearchMethodClassName)
    write() ?????????????}???????f?[?^?? LZSS?????k???A???k?????f?[?^?? encoder???o?????? ?o???X?g???[?????\?z?????B
    LzssOutputStream(PostLzssEncoder encoder, String LzssSearchMethodClassName, Object[] LzssSearchMethodExtraArguments)
    write() ?????????????}???????f?[?^?? LZSS?????k???A???k?????f?[?^?? encoder???o?????? ?o???X?g???[?????\?z?????B
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    ?}???N???X?????????????S?????f?[?^?????}?????? PostLzssEncoder ???o???? ?}???o???X?g???[?????A ???}???????X?g???[????????A ?g?p??????????\?[?X???J???????B
    static final int
    createSearchReturn(int matchlen, int matchpos)
    search ???????l?????????B search ?????v???u?????????A???v?????????????????????? ?????????????????????A???v???u?????v?????K?v???r?b?g???? ??????}???????p???? int?^???????????????B ?????????????????????????????????????B ?}?????????????????l???? ???v???u?????v?????????o???????? getMatchLen?A getMatchPos ???g?p?????B
    void
    ???k?@?\???????????????S?????f?[?^?? ???}?????? PostLzssEncoder ???o?????A ???}?????? PostLzssEncoder ?? flush() ?????B
    ?}???????A?o???????f?[?^???I?[?t?????? ?????? search() ???g?p???????????k??x???????????B ???? flush() ??????????????~?????k?????????????B ?}???? flush() ???????u?t???????f?[?^?p?^?????????? MaxMatch ??????????f?[?^?p?^?????g?p?????????A ???????????s???S???????????B ?}?????k???????????A?????????????k???????X?????????????????????A ?????????????????R?[?h?? LZ ???k???S???s??????B
    static final int
    getMatchLen(int searchret)
    createSearchReturn ?????????? search???????l???? ???v?????????o???B
    static final int
    getMatchPos(int searchret)
    createSearchReturn ?????????? search???????l???? ???v???u???????o???B
    void
    write(byte[] buffer)
    ???k?@?\?? buffer ?????f?[?^???S???o???????B
    ??????PostLzssEncoder ???f?[?^???n?????????? TextBuffer ???????????????????A flush ???????I???o?????w?????????????B
    void
    write(byte[] buffer, int index, int length)
    ???k?@?\?? buffer ???? index ???? length?o?C?g???f?[?^???o???????B
    ??????PostLzssEncoder ???f?[?^???n?????????? TextBuffer ???????????????????A flush ???????I???o?????w?????????????B
    void
    write(int data)
    ???k?@?\??1?o?C?g???f?[?^???o???????B
    ??????PostLzssEncoder ???f?[?^???n?????????? TextBuffer ???????????????????A flush ???????I???o?????w?????????????B

    Methods inherited from class java.io.OutputStream

    nullOutputStream

    Methods inherited from class java.lang.Object

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

    • NOMATCH

      public static final int NOMATCH
      searchret ???}???l???????????A ???????????A???l?????????v???????????????????????????B
      See Also:
  • Constructor Details

    • LzssOutputStream

      public LzssOutputStream(PostLzssEncoder encoder)
      write() ?????????????}???????f?[?^?? LZSS?????k???A???k?????f?[?^?? encoder???o?????? ?o???X?g???[?????\?z?????B
      Parameters:
      encoder - LZSS???k?f?[?^?o???X?g???[??
    • LzssOutputStream

      public LzssOutputStream(PostLzssEncoder encoder, String LzssSearchMethodClassName)
      write() ?????????????}???????f?[?^?? LZSS?????k???A???k?????f?[?^?? encoder???o?????? ?o???X?g???[?????\?z?????B
      Parameters:
      encoder - LZSS???k?f?[?^?o???X?g???[??
      LzssSearchMethodClassName - LzssSearchMethod ?????????????p?b?P?[?W???????????N???X??
      Throws:
      NoClassDefFoundError - LzssSearchMethodClassName ???^?????????N???X?? ????????????????B
      InstantiationError - LzssSearchMethodClassName ???^?????????N???X?? abstract class ???????????C???X?^???X????????????????B
      NoSuchMethodError - LzssSearchMethodClassName ???^?????????N???X?? ?R???X?g???N?^ LzssSearchMethod( int, int, int, byte[], int ) ?????????????
    • LzssOutputStream

      public LzssOutputStream(PostLzssEncoder encoder, String LzssSearchMethodClassName, Object[] LzssSearchMethodExtraArguments)
      write() ?????????????}???????f?[?^?? LZSS?????k???A???k?????f?[?^?? encoder???o?????? ?o???X?g???[?????\?z?????B
      Parameters:
      encoder - LZSS???k?f?[?^?o???X?g???[??
      LzssSearchMethodClassName - LzssSearchMethod ?????????????p?b?P?[?W???????????N???X??
      Throws:
      NoClassDefFoundError - LzssSearchMethodClassName ???^?????????N???X?? ????????????????B
      InstantiationError - LzssSearchMethodClassName ???^?????????N???X?? abstract class ???????????C???X?^???X????????????????B
      NoSuchMethodError - LzssSearchMethodClassName ???^?????????N???X?? ?R???X?g???N?^ LzssSearchMethod( int, int, int, byte[] ) ?????????????
  • Method Details

    • write

      public void write(int data) throws IOException
      ???k?@?\??1?o?C?g???f?[?^???o???????B
      ??????PostLzssEncoder ???f?[?^???n?????????? TextBuffer ???????????????????A flush ???????I???o?????w?????????????B
      Specified by:
      write in class OutputStream
      Parameters:
      data - 1?o?C?g???f?[?^
      Throws:
      IOException - ???o???G???[?????????????
    • write

      public void write(byte[] buffer) throws IOException
      ???k?@?\?? buffer ?????f?[?^???S???o???????B
      ??????PostLzssEncoder ???f?[?^???n?????????? TextBuffer ???????????????????A flush ???????I???o?????w?????????????B
      Overrides:
      write in class OutputStream
      Parameters:
      buffer - ?f?[?^???i?[???????o?b?t?@
      Throws:
      IOException - ???o???G???[?????????????
    • write

      public void write(byte[] buffer, int index, int length) throws IOException
      ???k?@?\?? buffer ???? index ???? length?o?C?g???f?[?^???o???????B
      ??????PostLzssEncoder ???f?[?^???n?????????? TextBuffer ???????????????????A flush ???????I???o?????w?????????????B
      Overrides:
      write in class OutputStream
      Parameters:
      buffer - ?f?[?^???i?[???????o?b?t?@
      index - buffer???f?[?^?J?n???u
      length - buffer???f?[?^??????
      Throws:
      IOException - ???o???G???[?????????????
    • flush

      public void flush() throws IOException
      ???k?@?\???????????????S?????f?[?^?? ???}?????? PostLzssEncoder ???o?????A ???}?????? PostLzssEncoder ?? flush() ?????B
      ?}???????A?o???????f?[?^???I?[?t?????? ?????? search() ???g?p???????????k??x???????????B ???? flush() ??????????????~?????k?????????????B ?}???? flush() ???????u?t???????f?[?^?p?^?????????? MaxMatch ??????????f?[?^?p?^?????g?p?????????A ???????????s???S???????????B ?}?????k???????????A?????????????k???????X?????????????????????A ?????????????????R?[?h?? LZ ???k???S???s??????B
        public void wrongCompress( InputStream in, LzssOutputSteam out ){
            int r;
            while( 0 <= r = in.read() ){
                out.write( r );
                out.flush();
            }
        }
       
      ?????A?}?????\?b?h?? PostLzssEncoder.flush() ???????o?????? flush() ??????????????~???A?o???f?[?^?????????????\?????????B
      Specified by:
      flush in interface Flushable
      Overrides:
      flush in class OutputStream
      Throws:
      IOException - ???o???G???[?????????????
      See Also:
    • close

      public void close() throws IOException
      ?}???N???X?????????????S?????f?[?^?????}?????? PostLzssEncoder ???o???? ?}???o???X?g???[?????A ???}???????X?g???[????????A ?g?p??????????\?[?X???J???????B
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class OutputStream
      Throws:
      IOException - ???o???G???[?????????????
    • createSearchReturn

      public static final int createSearchReturn(int matchlen, int matchpos)
      search ???????l?????????B search ?????v???u?????????A???v?????????????????????? ?????????????????????A???v???u?????v?????K?v???r?b?g???? ??????}???????p???? int?^???????????????B ?????????????????????????????????????B ?}?????????????????l???? ???v???u?????v?????????o???????? getMatchLen?A getMatchPos ???g?p?????B
      Parameters:
      matchlen - ???v??
      matchpos - ???v???u
      Returns:
      ???v???????v???u????????????search???????l
    • getMatchLen

      public static final int getMatchLen(int searchret)
      createSearchReturn ?????????? search???????l???? ???v?????????o???B
      Parameters:
      searchret - search ???????l
      Returns:
      ???v??
    • getMatchPos

      public static final int getMatchPos(int searchret)
      createSearchReturn ?????????? search???????l???? ???v???u???????o???B
      Parameters:
      searchret - search ???????l
      Returns:
      ???v???u