inf101
Class Inn

java.lang.Object
  |
  +--inf101.Inn

public class Inn
extends java.lang.Object

Denne klassen er laget ved Ifi, UiO og inneholder metoder for ? lese fra terminal og fil. Klassen st?tter b?de innlesing linje for linje, tegn for tegn, og item for item (hvor et item kan v?re et heltall, et flyttall eller en tekststreng). De tre typene innlesing kan kombineres. Eksempler p? bruk:

     (1) Lese linje for linje fra fil:

            String linje;
            Inn innfil = new Inn("tekstfil.txt");
            while (!innfil.endOfFile()) {
               linje = innfil.inStringLn();
               ...Gj?r noe med den leste linjen...
            }

     (2) Lese fil med heltall (atskilt med blanke og/eller linjeskift):

            int tall;
            Inn innfil = new Inn("fil.txt");
            while (!innfil.lastItem()) {
               tall = innfil.inInt();
               ...Gj?r noe med det innleste tallet...
            }
  
Version 9/7/2001/OCL.


Constructor Summary
Inn()
          Lager et Inn-objekt for lesing fra tastatur.
Inn(java.lang.String name)
          Lager et Inn-objekt for lesing fra spesifisert fil eller URL.
 
Method Summary
 void close()
          Lukker filen.
 boolean empty()
          Returnerer true hvis EOF eller resten av linjen er tom.
 boolean endOfFile()
          Sjekk om alle tegn (og linjeskift) er lest.
 void flushLine()
          Hopp helt til slutten av linjen
 char inChar()
          Les et tegn.
 char inChar(java.lang.String sep)
          Les et tegn med spesifiserte tegn som separatortegn.
 double inDouble()
          Les et flyttall med blanke som separatortegn.
 double inDouble(java.lang.String sep)
          Les et flyttall med spesifiserte tegn som separatortegn.
 int inInt()
          Les et heltall med blank som separatortegn.
 int inInt(java.lang.String sep)
          Les et heltall med spesifiserte tegn som separatortegn.
 java.lang.String inString()
          Les en tekststreng med blank som separatortegn.
 java.lang.String inString(java.lang.String sep)
          Les en tekststreng med spesifiserte tegn som separatortegn.
 java.lang.String inStringLn()
          Les resten av linjen som en tekststreng (inkludert blanke tegn).
 boolean lastItem()
          Sjekk om siste ikke-blanke tegn er lest.
 boolean lastItem(java.lang.String sep)
          Sjekk om siste ikke-separator tegn er lest, hvor separatortegn er de tegn som er spesifisert med parameteren sep.
 void skipEmpty()
          Hopp fram til f?rste tegn.
 void skipSep(java.lang.String sep)
          Hopp fram til f?rste tegn som er forskjellig fra de spesifiserte separatortegnene.
 void skipWhite()
          Hopp fram til f?rste ikke-blanke tegn.
 boolean white()
          Returnerer true hvis EOF eller resten av linjen er blanke tegn.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Inn

public Inn()
Lager et Inn-objekt for lesing fra tastatur.

Inn

public Inn(java.lang.String name)
Lager et Inn-objekt for lesing fra spesifisert fil eller URL. Dersom name starter med "http://" tolkes name som en URL (dvs som en web-adresse). I alle andre tilfeller tolkes name som et filnavn (med eller uten path). Dersom det ikke angis noen path antas det at filen ligger p? samme katalog som Java-programmet ligger p?. En path kan enten v?re en relativ path eller en absolutt path. En relativ path angir en katalog relativt til katalogen som Java-programmet ligger p?, f.eks.
    ../viktigbrev.txt
    obliger/Register.java
 
En absolutt path angir en katalog i forhold til rotkatalogen, f.eks.
    /ifi/ganglot/k01/inf101/LES_MEG
 
Merk: forel?pig kan en ikke benytte linker (slik som ~ eller /hom/) i pathen n?r en oppretter et Inn-objekt.
Method Detail

close

public void close()
Lukker filen.

empty

public boolean empty()
Returnerer true hvis EOF eller resten av linjen er tom.

white

public boolean white()
Returnerer true hvis EOF eller resten av linjen er blanke tegn.

skipEmpty

public void skipEmpty()
Hopp fram til f?rste tegn. Hopper over eventuelle linjeskift fram til f?rste tegn.

skipWhite

public void skipWhite()
Hopp fram til f?rste ikke-blanke tegn. Hopper over blanke tegn (inkludert tabulatortegn) og linjeskift.

flushLine

public void flushLine()
Hopp helt til slutten av linjen

skipSep

public void skipSep(java.lang.String sep)
Hopp fram til f?rste tegn som er forskjellig fra de spesifiserte separatortegnene. Dersom f.eks. sep er tekststrengen "&* " s? vil en hoppe fram til f?rste tegn som ikke er '&', '*' eller ' '. Kontrolltegn som starter med '\' kan ogs? angis, f.eks. "\t" for ? hoppe over tabulatortegn. For ? hoppe over tegnet '\' m? en angi "\\". Eksempel: hvis sep er tekststrengen " \t\\" s? vil en hoppe fram til f?rste tegn som ikke er ' ', tabulator-tegn eller '\'.

endOfFile

public boolean endOfFile()
Sjekk om alle tegn (og linjeskift) er lest. Returnerer true dersom alle tegn (inkludert blanke) og linjeskift er lest, og returnerer false ellers. Kun ved lesing fra fil eller URL.

lastItem

public boolean lastItem()
Sjekk om siste ikke-blanke tegn er lest. Hopper fram til f?rste ikke-blanke tegn, eller til slutten av filen dersom det bare er blanke tegn igjen. I f?rste tilfelle returneres verdien true og i siste tilfelle returneres verdien false. Kun ved lesing fra fil eller URL.

lastItem

public boolean lastItem(java.lang.String sep)
Sjekk om siste ikke-separator tegn er lest, hvor separatortegn er de tegn som er spesifisert med parameteren sep. Dersom f.eks. sep er tekststrengen "&* " s? er separatortegnene '&', '*' og ' '. Kontrolltegn som starter med '\' kan ogs? angis, f.eks. "\t" for tabulatortegn. For ? angi separatortegnet '\' m? en bruke "\\". Eksempel: hvis sep er tekststrengen " \t\\" s? vil separatortegnene v?re ' ', tabulator-tegn og '\'. Hopper fram til f?rste ikke-separator tegn, eller til slutten av filen dersom det bare er separator-tegn igjen. I f?rste tilfelle returneres verdien true og i siste tilfelle returneres verdien false. Kun ved lesing fra fil eller URL.

inChar

public char inChar()
Les et tegn. Det hoppes over eventuelle innledende linjeskift.

inChar

public char inChar(java.lang.String sep)
Les et tegn med spesifiserte tegn som separatortegn. Det hoppes over eventuelle innledende linjeskift og separatortegn spesifisert i sep.Separatortegn angis som en tekststreng, f.eks. "%&" for ? bruke '%' og '&' som separatortegn.

inInt

public int inInt()
Les et heltall med blank som separatortegn. Det hoppes over eventuelle innledende blanke tegn (inkludert tabulatortegn) og linjeskift. Det gis feilmelding dersom f?rste ikke-blanke tegn er noe annet enn et siffer.

inInt

public int inInt(java.lang.String sep)
Les et heltall med spesifiserte tegn som separatortegn. Det hoppes over eventuelle innledende linjeskift og separatortegn spesifisert i sep. Separatortegn angis som en tekststreng, f.eks. "%&" for ? bruke '%' og '&' som separatortegn. Det gis feilmelding dersom f?rste ikke-separator tegn er noe annet enn et siffer.

inDouble

public double inDouble()
Les et flyttall med blanke som separatortegn. Flyttallet m? ha en av f?lgende formater:
       (1) xx.yy  (eksempel: 34.22)
       (2)   .yy  (eksempel:   .22)
       (3) xx     (eksempel: 34)
  
Det hoppes over eventuelle innledende blanke tegn (inkludert tabulatortegn) og linjeskift. Det gis feilmelding dersom f?rste ikke-blanke tegn er noe annet enn et siffer.

inDouble

public double inDouble(java.lang.String sep)
Les et flyttall med spesifiserte tegn som separatortegn. Flyttallet m? ha en av f?lgende formater:
       (1) xx.yy  (eksempel: 34.22)
       (2)   .yy  (eksempel:   .22)
       (3) xx     (eksempel: 34)
  
Det hoppes over eventuelle innledende linjeskift og separatortegn spesifisert i sep. Separatortegn angis som en tekststreng, f.eks. "%&" for ? bruke '%' og '&' som separatortegn. Det gis feilmelding dersom f?rste ikke-blanke tegn er noe annet enn et siffer.

inString

public java.lang.String inString()
Les en tekststreng med blank som separatortegn. Hopper over innledende blanke tegn (inkludert tabulatortegn) og linjeskift, og leser deretter fram til f?rste blanke tegn (inkludert tabulatortegn) eller linjeskift (det som kommer f?rst).

inString

public java.lang.String inString(java.lang.String sep)
Les en tekststreng med spesifiserte tegn som separatortegn. Hopper over innledende separatortegn og linjeskift, og leser deretter fram til f?rste separatortegn eller linjeskift (det som kommer f?rst). Separatortegn angis som en tekststreng, f.eks. "%&" for ? bruke '%' og '&' som separatortegn.

inStringLn

public java.lang.String inStringLn()
Les resten av linjen som en tekststreng (inkludert blanke tegn).