On Thu, 29 Apr 2004 17:58:38 +0200, Martin Jørgensen
<unoder.spam@jay.spam.net> wrote:
>Hej NG.
>
>Jeg har lært mig selv lidt java, men sidder fast i et lille problem. Jeg
>mangler en smule rådgivning, derfor dette indlæg. På forhånd mange tak, for
>alle svar:
Du kan slå definitionen (javadoc'en) af Javas indbyggede klasser op
her:
http://java.sun.com/j2se/1.4.2/docs/api/
(Indsæt din konkrete version af java i stedet for 1.4.2.) Det er nogle
gange en hjælp. Nu til dine konkrete spørgsmål.
>Spørgsmål 1)
>------------
>Jeg vil gerne have tilføjet nogle data til en fil... Det kan sagtens lade
>sig gøre for mig, både at læse og skrive fra en bestemt fil. Men det må
>også kunne gøres uden at overskrive filen fra gang til gang. Og det må også
>kunne gøres på en nem måde, dvs. uden først at læse hele filen og derefter
>tilføje noget og tilsidst skrive det hele igen... Jeg har disse 3 linjer
>(men de overskriver filen fra gang til gang):
>
> FileWriter fw = new FileWriter (file);
> BufferedWriter bw = new BufferedWriter (fw);
> PrintWriter outFile = new PrintWriter (bw);
>
>Hvad skal der stå, hvis jeg bare vil "appende" eller tilføje noget til en
>fil, hver gang man f.eks. trykker på en button (implements actionlistener,
>eller lignende)?
Erstat første linie med:
FileWriter fw = new FileWriter (file, true);
Se
http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileWriter.html#FileWriter(java.io.File,boolean)
>Spørgsmål 2)
>------------
> String fil = new String("farve.gem");
> FileReader filr = new FileReader (fil);
> BufferedReader inFile = new BufferedReader (filr);
> String farve = inFile.readLine();
> System.out.println (farve);
>// Color gemtfarve = Color.black;
> convertStringToColor(farve);
>// Color gemtfarve = Color.convertStringToColor(java.lang.String farve);
> kunde.setBackground(gemtfarve);
> left.setBackground(gemtfarve);
> inFile.close();
>
>Compileren skriver alt muligt med at cannot resolve symbol, ligemeget
>hvordan jeg benytter convertStringToColor... Sagen er den, at jeg har gemt
>en fil med flg. tekst (ved at gemme en color-variabel):
>java.awt.Color[r=0,g=51,b=51]
Jeg tror at grunden til at compileren ikke kan finde
convertStringToColor er at der ikke er en convertStringToColor. Se
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Color.html
Når man skriver et objekt til en PrintWriter, bruges objektets
toString()-metode til at omsætte objektet til en streng. Colors
toString()-metode er ifølge dokumentationen kun til debugging brug. Du
skal nok ikke forvente at finde en tilsvarende der går den anden vej.
>Denne tekst er den eneste, der står i filen og indholdet skal omsættes til
>en farve af typen Color (farven tillægges til kunde og left-JPanelet).
>Hvordan gøres dette?
Kunne du ikke i stedet skrive rgb-værdien ud - altså farve.getRgb()?
Det er et enkelt tal og dermed lettere at læse ind igen. Du kan danne
et Color objekt udfra en rgb-værdi med new Color(rgb).
>På forhånd tak for at lede mig på rette vej. Det burde være 2 lette
>spørgsmål...?
>
>mvh.
>Martin Jørgensen