Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   package com.stratio.mojo.unix.ar;
  
  /*
   * The MIT License
   *
   * Copyright 2009 The Codehaus.
   *
   * Permission is hereby granted, free of charge, to any person obtaining a copy of
   * this software and associated documentation files (the "Software"), to deal in
  * the Software without restriction, including without limitation the rights to
  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
  * of the Software, and to permit persons to whom the Software is furnished to do
  * so, subject to the following conditions:
  *
  * The above copyright notice and this permission notice shall be included in all
  * copies or substantial portions of the Software.
  *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
 
 
 import java.io.*;

Author(s):
Trygve Laugstøl
 
 public class ReadableArFile
     extends ArFile
 {
     private InputStream inputStream;
     private long left;
 
     public ReadableArFileInputStream inputStream )
     {
         this. = inputStream;
     }
 
     public InputStream open()
     {
         if (  == null )
         {
             throw new RuntimeException"This file has already been read" );
         }
 
         return  = new ArFileInputStream();
     }
 
     void close()
     {
         // If the file havent been opened, skip the bytes
         if (  == null )
         {
              = new ArFileInputStream();
         }
 
         IOUtil.close );
     }
 
     private class ArFileInputStream
         extends InputStream
     {
         private InputStream inputStream;
 
         public ArFileInputStream()
         {
             this. = ReadableArFile.this.;
             ReadableArFile.this. = null;
              = ;
         }
 
         public int read()
             throws IOException
         {
             if (  <= 0 )
             {
                 return -1;
             }
 
             int i = .read();
 
             if ( i == -1 )
             {
                 return -1;
             }
 
             --;
             return i;
         }
 
         public int readbyte b[], int offint len )
             throws IOException
        {
            if (  <= 0 )
            {
                return -1;
            }
            if ( len >  )
            {
                len = (int;
            }
            int i = .readbofflen );
             -= i;
            return i;
        }
        public long skiplong n )
            throws IOException
        {
            throw new IOException"Not supported" );
        }
        public int available()
            throws IOException
        {
            return (int;
        }
        public void close()
            throws IOException
        {
            // TODO: Make sure that we read out all the bytes from the underlying input stream
            if (  != 0 )
            {
                ArUtil.skipBytes );
            }
            // Read the extra pad byte if size is odd
            if (  % 2 == 1 )
            {
                ArUtil.skipBytes, 1 );
            }
        }
        public synchronized void markint readlimit )
        {
            throw new RuntimeException"Not supported" );
        }
        public synchronized void reset()
            throws IOException
        {
            throw new RuntimeException"Not supported" );
        }
        public boolean markSupported()
        {
            return false;
        }
    }
New to GrepCode? Check out our FAQ X