Løsningsforslag - oppgaver i Vedlegg A.3.10


Oppgave 1

Metoden som leser en hel tabell, returnerer det antallet som ble lest. Antallet kan være mindre enn tabellens lengde. Spesielt vil det være tilfellet helt til slutt når siste del av filen skal leses. Hvis det ikke er flere igjen, returneres -1. Det betyr at vi må bruke den write-metoden der antallet som skal skrives ut inngår som argument:

  InputStream inn = new BufferedInputStream(new FileInputStream("tabell.txt"));
  OutputStream ut = new BufferedOutputStream(new FileOutputStream("utfil.xyz"));

  byte[] tabell = new byte[8192];  // 8kb

  int antall;
  while ((antall = inn.read(tabell)) != -1)
  {
    ut.write(tabell, 0, antall);
  }

  inn.close();  ut.close();  // obs: det er viktig å lukke filene