import java.io.*;

public class InputFile
{
    BufferedReader fp        = null;
    String         name      = null;
    boolean        isStdIn   = false;
    long           position  = 0;

    public InputFile(String fileName) throws FileNotFoundException
    {
       name = fileName;
       fp = new BufferedReader(new FileReader(fileName));
       isStdIn = false;
       position = 0;
    }

    public InputFile(InputStream in, boolean flag)
    {
      name = new String("stdin");
      fp   = new BufferedReader(new InputStreamReader(in));
      isStdIn = flag;
    }

    public void addToCurrentPosition(long increment)
    {
       position = position + increment;
    }

    public long getCurrentPosition()
    {
       return position;
    }

    public void setCurrentPosition(long pos)
    {
       position = pos;
    }    

    public void close() throws IOException
    {
       name = null;

       if(!isStdIn)
       {
          if(fp != null)
          {
             fp.close();
          }
       }

       fp = null;
    }

    public boolean isFileStdIn()
    {
       return isStdIn;
    }

    public String getFileName()
    {
       return name;
    }       

    public BufferedReader getFileReader()
    {
       return fp;
    }
}
