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();
}
}