Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #28437

Re: byte stream vs char stream buffer

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From markspace <markspace@nospam.nospam>
Newsgroups comp.lang.java.programmer
Subject Re: byte stream vs char stream buffer
Date Sun, 11 May 2014 12:10:54 -0700
Organization A noiseless patient Spider
Lines 64
Message-ID <lkoi04$erc$1@dont-email.me> (permalink)
References <vhljm9llt6jau94jqr573ccpjcnhkunsil@4ax.com> <slrnlmn1n7.bi9.avl@login.logic.tuwien.ac.at> <mr0qm9hbbeqj0rggqco3umj91bqvjeti58@4ax.com> <en0tm9pu331ts50galimgbk8bkseu83mtk@4ax.com> <bt7jpaFa8d5U1@mid.individual.net> <pqbtm9h82nb1q0qbdf87bae2h1jeot5uno@4ax.com> <bt9e82Fll8eU1@mid.individual.net> <lkogpm$5f4$1@dont-email.me>
Mime-Version 1.0
Content-Type text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding 7bit
Injection-Date Sun, 11 May 2014 19:11:00 +0000 (UTC)
Injection-Info mx05.eternal-september.org; posting-host="9358cda03e1e0dfd3c4b757daa608707"; logging-data="15212"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/KwGxnKazxO3yBvV4pal7X1WFVaFndAIA="
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0
In-Reply-To <lkogpm$5f4$1@dont-email.me>
Cancel-Lock sha1:gLmcIU+ZDxjPe38d9VkOJQxzNi8=
Xref csiph.com comp.lang.java.programmer:28437

Show key headers only | View raw


I think this might be the original code that I used to speed up my 
project.  It's been a while so I don't know exactly how well this is 
working right now.

You can wrap this in whatever you'd like -- BufferedRead for example -- 
since I just make a plain InputStream here.  I also notice that there's 
not even a close method on this class, so obviously I didn't complete it.

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;

/**
  * Copyright 2013 Brenden Towey DONATED TO THE PUBLIC DOMAIN.
  *
  * PROVIDED AS-IS WITH NO WARRANTY.  FURTHER TESTING IS
  * REQUIRED TO COMPLETE THIS CODE.  CAVEAT EMPTOR.
  *
  * @author Brenden Towey
  */
public class FileByteBufferInputStream extends InputStream {

    private ByteBuffer buffer = ByteBuffer.allocateDirect( 64 * 1024 );
    private FileInputStream file;
    int read;
    boolean eof = false;

    public FileByteBufferInputStream( FileInputStream file ) throws 
IOException
    {
       this.file = file;
       read = file.getChannel().read( buffer );
       if( read == -1 ) eof = true;
       buffer.rewind();
    }

    @Override
    public int read()
            throws IOException
    {
       if( eof ) return -1;
       if( read-- == 0 )
       {
          buffer.clear();
          read = file.getChannel().read( buffer );
          if( read == -1 ) eof = true;
          buffer.rewind();
          if( eof ) {
             return -1;
          } else {
             int retval = buffer.get();
             assert( read > 0 );
             read--;
             return retval;
          }
       } else{
          int retval = buffer.get();
          return retval;
       }
    }
}

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-06 23:48 -0700
  Re: byte stream vs char stream buffer Andreas Leitgeb <avl@auth.logic.tuwien.ac.at> - 2014-05-08 13:30 +0000
    Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-09 09:34 -0700
      Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-10 13:18 -0700
        Re: byte stream vs char stream buffer Robert Klemme <shortcutter@googlemail.com> - 2014-05-10 23:24 +0200
          Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-10 16:08 -0700
            Re: byte stream vs char stream buffer Robert Klemme <shortcutter@googlemail.com> - 2014-05-11 16:02 +0200
              Re: byte stream vs char stream buffer markspace <markspace@nospam.nospam> - 2014-05-11 11:50 -0700
                Re: byte stream vs char stream buffer markspace <markspace@nospam.nospam> - 2014-05-11 12:10 -0700
                Re: byte stream vs char stream buffer Robert Klemme <shortcutter@googlemail.com> - 2014-05-11 21:34 +0200
                Re: byte stream vs char stream buffer markspace <markspace@nospam.nospam> - 2014-05-11 12:55 -0700
                Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-16 16:55 -0700
                Re: byte stream vs char stream buffer markspace <markspace@nospam.nospam> - 2014-05-16 17:36 -0700
                Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-16 19:52 -0700
              Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-16 16:37 -0700
          Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-10 17:21 -0700
            Re: byte stream vs char stream buffer Martin Gregorie <martin@address-in-sig.invalid> - 2014-05-11 09:05 +0000
              Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-12 02:07 -0700
                Re: byte stream vs char stream buffer Silvio <silvio@internet.com> - 2014-05-12 12:20 +0200
                Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-16 20:19 -0700
                Re: byte stream vs char stream buffer Roedy Green <see_website@mindprod.com.invalid> - 2014-05-18 05:28 -0700
                Re: byte stream vs char stream buffer Silvio <silvio@internet.com> - 2014-05-18 23:54 +0200

csiph-web