120 likes | 267 Views
Föreläsning 9. Inläsning och utskrift på fil SimpleTextFileReader SimpleTextFileWriter Felsökning Java API. Filer. Enda sättet att spara data mellan programkörningar är att lagra dessa på fil. På kursbiblioteket finns två klasser som gör det enklare att läsa från och skriva på fil.
E N D
Föreläsning 9 • Inläsning och utskrift på fil • SimpleTextFileReader • SimpleTextFileWriter • Felsökning • Java API
Filer • Enda sättet att spara data mellan programkörningar är att lagra dessa på fil. • På kursbiblioteket finns två klasser som gör det enklare att läsa från och skriva på fil. • SimpleTextFileReader • SimpleTextFileWriter • Om du vill använda klasserna kan du kopiera dom från kursbiblioteket och lägga den i samma katalog, eller kopiera in texten sist i ditt program.
Filläsning • Öppna filen • Hämta information från filen (läs en rad) • Lägg informationen i en String-variabel i ditt program • Stäng filen
Skapa en fil • Skapa filen i Emacs • Exempel: inköp.txt bananer vitkål äpplen glödlampor djupfryst majs falukorv ägg grädde lättfil
SimpleTextFileReader // Öppna fil för läsning SimpleTextFileReader in = new SimpleTextFileReader(”infil.txt”); String str; // Läs in alla rader och skriv ut på skärmen while ((str = in.readLine())!= null) { System.out.println(str); } in.close(); //Stäng filen
SimpleTextFileWriter // Öppna fil för utskrift SimpleTextFileWriter out = new SimpleTextFileWriter (”utfil.txt”); out.println(”Detta skrivs på filen!”); System.out.println(”Detta på skärmen”); // Stäng filen out.close();
Exempel • Programmet BortMedSvenskaTecken.java läser rader från en fil, byter ut alla å, ä och ö mot o, e och u och skriver ut resultatet på en annan fil. • Infilens och utfilens namn anges vid körningen: java BortMedSvenskaTecken inköp.txt ut.txt så att programmet kan hämta namnen från args String infilnamn = args[0]; String utfilnamn = args[1];
Filhanteringsdelen av programmet SimpleTextFileReader infil = new SimpleTextFileReader(infilnamn); SimpleTextFileWriter utfil = new SimpleTextFileWriter(utfilnamn); String inrad, utrad; while ((inrad=infil.readLine()) != null) { utrad = byt(inrad); utfil.println(utrad); } infil.close(); utfil.close();
Resultat inköp.txt ut.txt bananer vitkål äpplen glödlampor djupfryst majs falukorv ägg grädde lättfil bananer vitkol epplen gludlampor djupfryst majs falukorv egg gredde lettfil
Java API • Hur läser man informationen i Java API? • Välj en klass • Titta bland metoderna, stämmer in- och utparametrarna för ditt behov? • Om metoden är en instansmetod anropas den med dinInstans.metod(); • Om metoden är en klassmetod anropas den med Klass.metod();
javadoc • Du kan själv skapa dokumentation av ditt program med hjälp av javadoc • Alla kommentarer som du vill ha med i dokumentationen skriver du inom /** och */ • Skriv javadoc MinKlass.java • En webbsida (jfr Javas API) skapas.
javadoc - väljare • Man kan använda väljare till javadoc, t ex javadoc -d docs • Väljaren -d anger att man vill ha dokumentationen på en viss katalog. • För att se vilka väljare som finns och hur dom används: skriv bara javadoc -d <directory> Destination directory