All pastes #673471 Raw Edit

Mine

public text v1 · immutable
#673471 ·published 2007-08-28 13:05 UTC
rendered paste body
import java.io.*;
import java.util.Iterator;
import java.util.Scanner;

public class TekstitiedostonIteroija implements Iterator {
  public static final int VAKIO_RIVIMAARA = 20;
  private String seuraavaRivi;
  private File tiedosto;
  private int rivienlkm;
  private Scanner lukija;
  
  public TekstitiedostonIteroija(File tiedosto) throws java.io.FileNotFoundException {
    this.tiedosto = tiedosto;
    this.rivienlkm = VAKIO_RIVIMAARA;
    if (!tiedosto.exists())
      throw new FileNotFoundException();

  }
  
  
  public TekstitiedostonIteroija(File tiedosto, int rivienlkm) throws java.io.FileNotFoundException {
    this(tiedosto);
    if (rivienlkm == 0)
      rivienlkm = VAKIO_RIVIMAARA;
    this.rivienlkm = rivienlkm;
    this.lukija = new Scanner(tiedosto);
    
    
  }
  
  public String annaTiedostonNimi() {
    return this.tiedosto.getName(); 
  }
  
  public boolean hasNext() {
    return lukija.hasNextLine();
  }
  
  public Object next() {
    String paluu = "";
    for (int i = 0; i < this.rivienlkm; i++) {
      if (this.hasNext())
        paluu += lukija.nextLine() + "\n";
    }
    return paluu;
  }
  
  public void remove() {
  
  }

}


--------------------


import java.io.*;
import java.util.EmptyStackException;
import java.util.Scanner;


public class TekstitiedostonLukija {
  public static void main(String[] args) throws FileNotFoundException  {
    int rivit = TekstitiedostonIteroija.VAKIO_RIVIMAARA;
    Scanner nappis = new Scanner(System.in);
  
    
    if (args.length != 2) {
      System.out.println("Anna vain kaksi parametria!");
      System.out.println("1. Parametri kertoo luettavan tiedoston.");
      System.out.println("2. Parametri kerralla luettavien rivien lukumäärän (0 on vakio).");
    }
     File tied = new File(args[0]);
     if (!tied.exists())
       System.out.println("Tiedostoa " + tied + " ei löytynyt!");
     
    try {
      rivit = Integer.parseInt(args[1]);
    }
    catch (NumberFormatException nfe) {
      System.out.println("2. Parametri ei ollut kokonaisluku!");      
    }
    
    TekstitiedostonIteroija iter = new TekstitiedostonIteroija(tied, rivit);
    if (iter.hasNext())
      System.out.println(iter.next());
    
    while(nappis.nextLine().compareTo("") == 0) {
      System.out.println("Tiedosto " + tied + ", (pelkkä enter jatkaa)");
      System.out.println(iter.next());
    }
      
      
}
}