package easyIO; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; /** *

Klasse for enkel skriving til fil og skjerm. Tilbyr metoder for * formatering av tegn, tall og tekst. ?nsket posisjonering angis * evt. med en av konstantene, hhv. LEFT, RIGHT eller * CENTER. Disse konstantene er arvet * fra superklassen OutExp * *

Klassen benytter Format-klassen for formateringen. ?nsker man * stringkonkatenering sammen med formatering av tekst m? man benytte * Format-klassen sammen med out / outln metodene. * *

Eksempler p? bruk:
* For skriving til fil: *

 * // Lager fil-objektet.
 * Out utfil = new Out("filnavn");
 *
 * // skriver ut et tall (123)
 * utfil.out(123);
 *
 * // skriver ut linjeskift
 * utfil.outln();
 *
 * // utskrift med linjeskift.
 * utfil.outln("En linje med tekst");
 *
 * // skriver ut desimaltallet 123.456 med to desimaler.
 * utfil.outln(123.456, 2);
 *
 * // som over, h?yrejustert p? 10 plasser.
 * utfil.outln(123.456, 2, 10);
 *
 * // Teksten skrives h?yrejustert p? 10 plasser.
 * utfil.outln("Til h?yre", 10, Out.RIGHT);
 *
 * // Lukker filen etter skriving.
 * utfil.close();
 * 
* * @see easyIO.Format * @author Forfatterne av "Rett p? Java" * @version 5.0. (april, 2007) */ public class Out extends OutExp { static final String versjon = "ver.3.2 - 2006-08-28"; /** * Konstrukt?r for oppretting av skriveobjekt til skjerm (System.out) */ public Out() { super(); } /** * Konstrukt?r for oppretting av skriveobjekt til fil. */ public Out(String filnavn) { this(filnavn, false); } /** * Konstrukt?r for opprtetting av skriveobjekt til fil med append. */ public Out(String filnavn, boolean append) { super(); stdout = null; try { fout = new PrintWriter (new BufferedWriter(new FileWriter(filnavn, append))); } catch (IOException e) { System.out.println("Kunne ikke opprette filen '" + filnavn + "'"); } } /* Metodene under kaller alle p? superklassens tilsvarende metode. * Dette er kun gjort for ? f? generert full dokumentasjon ogs? * for denne klassen. */ /** * Skriver ut et linjeskift */ public void outln() { super.outln(); } /** * Skriver ut teksten s * @param s teksten som skal skrives ut. */ public void out(String s) { super.out(s); } /** * Som {@link #out(String)} etterfulgt av linjeskift. * @param s teksten som skal skrives ut. */ public void outln(String s) { super.outln(s); } /** * Skriver ut et tegn. * @param c tegnet som skal skrives ut. */ public void out(char c) { super.out(c); } /** * Skriver ut et tegn, venstrejustert p? * width plasser. * @param c tegnet som skal skrives ut. * @param width bredden p? feltet. */ public void out(char c, int width) { super.out(c, width); } /** * Som {@link #out(char)} etterfulgt av linjeskift. * @param c tegnet som skal skrives ut. */ public void outln(char c) { super.outln(c); } /** * Som {@link #out(char, int)}, etterfulgt av linjeskift. * @param c tegnet som skal skrives ut * @param width bredden p? feltet */ public void outln(char c, int width) { super.outln(c, width); } /** * Skriver ut et tegn, venstre- eller h?yre-justert eller * sentrert p? width plasser. Justering, * evt. sentrering angis med en av f?lgende konstanter: *
     * LEFT, RIGHT, CENTER
     * 
* @param c tegnet som skal skrives ut * @param width bredden p? feltet * @param ALIGN angir h?yre, venstre eller sentrert justering */ public void out(char c, int width, final int ALIGN) { super.out(c, width, ALIGN); } /** * Som {@link #out(char, int, int)} etterfulgt av linjeskift. * @param c tegnet som skal skrives ut * @param width bredden p? feltet * @param ALIGN angir enten h?yre, venstre eller sentrert justering. */ public void outln(char c, int width, final int ALIGN) { super.outln(c, width, ALIGN); } /** * Skriver ut et heltall. * @param i heltallet som skal skrives ut */ public void out(int i) { super.out(i); } /** * Som {@link #out(int)} etterfulgt av linjeskift. * @param i heltallet som skal skrives ut. */ public void outln(int i) { super.outln(i); } /** * Skriver ut et heltall, h?yrejustert p? * width plasser. Hvis oppgitt bredde er for liten * skrives det ut opptill tre prikker. * @param i heltallet som skal skrives ut. * @param width bredden p? feltet. */ public void out(int i, int width) { super.out(i, width); } /** * Som for {@link #out(int, int)}, etterfulgt av linjeskift. * @param i heltallet som skal skrives ut. * @param width bredden p? feltet. */ public void outln(int i, int width) { super.outln(i, width); } /** * Som for {@link #out(int, int)}. Siste parameter gir mulighet * for ? velge enten h?yre-, venstre- eller sentrert justering. * @param i heltallet som skal skrives ut. * @param width bredden p? feltet. * @param ALIGN angir enten h?yre, venstre eller sentrert justering. */ public void out(int i, int width, final int ALIGN) { super.out(i, width, ALIGN); } /** * som for {@link #out(int, int, int)} etterfulgt av linjeskift. * @param i heltallet som skal skrives ut. * @param width bredden p? feltet. * @param ALIGN angir enten h?yre, venstre eller sentrert justering. */ public void outln(int i, int width, final int ALIGN) { super.outln(i, width, ALIGN); } /** * Som {@link #out(int)} men skriver ut et desimaltall. * @param d tallet som skal skrives ut. */ public void out(double d) { super.out(d); } /** * Som {@link #outln(int)} men skriver ut desimaltall. * @param d tallet som skal skrives ut. */ public void outln(double d) { super.outln(d); } /** * Skriver ut et desimaltall med decimals * antall desimaler. * @param d tallet som skal skrives ut * @param decimals antall desimaler som skal skrives ut. * @see Format#format */ public void out(double d, int decimals) { super.out(d, decimals); } /** * Som {@link #out(double, int)}, etterfulgt av linjeskift. * @param d tallet som skal skrives ut * @param decimals antall desimaler som skal skrives ut. * @see Format#format */ public void outln(double d, int decimals) { super.outln(d, decimals); } /** * Skriver ut et desimaltall h?yrejustert p? * width plasser med decimals siffer * etter komma. Hvis oppgit bredde er for liten, skrives det ut * opptill tre prikker. * @param d tallet som skal skrives ut * @param decimals antall desimaler som skal skrives ut. * @param width bredden p? feltet. * @see Format#format */ public void out(double d, int decimals, int width) { super.out(d, decimals, width); } /** * Som {@link #out(double, int, int)} etterfulgt av linjeskift. * @param d tallet som skal skrives ut * @param decimals antall desimaler som skal skrives ut. * @param width bredden p? feltet. * @see Format#format */ public void outln(double d, int decimals, int width) { super.outln(d, decimals, width); } /** * Som {@link #outln(double, int, int)}. Siste parameter gir mulighet * for ? velge enten h?yre-, venstre- eller sentrert justering. * @param d tallet som skal skrives ut * @param decimals antall desimaler som skal skrives ut. * @param width bredden p? feltet. * @param ALIGN angir enten h?yre, venstre eller sentrert justering. * @see Format#format */ public void out(double d, int decimals, int width, final int ALIGN) { super.out(d, decimals, width, ALIGN); } /** * Som {@link #out(double, int, int, int)} etterfulgt av linjeskift. * @param d tallet som skal skrives ut * @param decimals antall desimaler som skal skrives ut. * @param width bredden p? feltet. * @param ALIGN angir enten h?yre, venstre eller sentrert justering. * @see Format#format */ public void outln(double d, int decimals, int width, final int ALIGN) { super.outln(d, decimals, width, ALIGN); } /** * Skriver ut teksten s h?yrejustert p? * width plasser. Hvis oppgitt bredde er for liten * skrives det ut optill tre prikker. * @param s teksten som skal skrives ut * @param width bredden p? feltet. */ public void out(String s, int width) { super.out(s, width); } /** * Som {@link #out(String, int)}, etterfulgt av linjeskift. * @param s teksten som skal skrives ut. * @param width bredden p? feltet. */ public void outln(String s, int width) { super.outln(s, width); } /** * Skriver ut en tekst med oppgitt Siste parameter gir mulighet * for ? velge enten h?yre-, venstre- eller sentrert justering. * @param s teksten som skal skrives ut. * @param width bredden p? feltet. * @param ALIGN angir enten h?yre, venstre eller sentrert justering. */ public void out(String s, int width , final int ALIGN) { super.out(s, width, ALIGN); } /** * Som {@link #out(String, int, int)}, etterfulgt av linjeskift. * @param s teksten som skal skrives ut. * @param width bredden p? feltet. * @param ALIGN angir enten h?yre, venstre eller sentrert justering. */ public void outln(String s, int width, final int ALIGN) { super.outln(s, width, ALIGN); } /** * Skriver ut Object o ved ? kalle objektets * toString() metode. * @param o objektet som skal skrives ut. */ public void out(Object o) { super.out(o); } /** * Som {@link #out(Object)} etterfulgt av linjeskift. * @param o objektet som skal skrives ut. */ public void outln(Object o) { super.outln(o); } /** * Lukker fil etter skriving. */ public void close() { super.close(); } }