Avatar billede morteeart Nybegynder
04. december 2004 - 16:00 Der er 11 kommentarer og
1 løsning

Skrive til fil

Hey

Hvordan kan jeg lave sådan at mit program logger hver eneste linje jeg skriver i min console, ned i en fil ? dvs. append.
Avatar billede arne_v Ekspert
04. december 2004 - 16:03 #1
PrintWriter pw = new PrintWriter(new FileOutputStream("foobar.log", true));

og

pw.println(line);

måske
Avatar billede arne_v Ekspert
04. december 2004 - 16:05 #2
Hvis du er til lidt mere avancerede løsninger så kunne du kige på
Java 1.4 logging eller log4j !
Avatar billede kalp Novice
04. december 2004 - 16:15 #3
eller

String fil = "test.txt";

FileWrite fw = new FileWrite(fil);
BufferedWrite bw = new BifferedWriter(fw);
PrintWrite outFile = new PrintWrite(bw);

Så kan du fx skrive

OutFile.print ("Hejsa");

så skriver du hejsa i din txt fil.

husk at lukke for filen igen ved at slutte af med

outFile.close();
Avatar billede data2k.dk Nybegynder
04. december 2004 - 16:17 #4
og nu vi snakker om log så skal kan du omdøbe filnavnet selvfølgelig.. og smide print metoden ind i din constructor
Avatar billede data2k.dk Nybegynder
04. december 2004 - 16:18 #5
kalp:

hvorfor har du 3 linier til at producere en outprint fil? lidt i overkanten vil jeg mene
Avatar billede arne_v Ekspert
04. december 2004 - 16:20 #6
Er det bare mig eller var nøgleordet ikke "append" ?
Avatar billede kalp Novice
04. december 2004 - 16:22 #7
data2k.dk

Det behøver man heller ikke have...

arne_v

Tror du har ret hehe..er lige stået op og selve spørgsmålets titel fyldte lidt for meget i mit hoved hehe
Avatar billede morteeart Nybegynder
04. december 2004 - 16:39 #8
hmm, kan ikke lige få arne_v's forslag til at fungerer.

Har prøvet med:

PrintWriter pw = new PrintWriter(new FileOutputStream("foobar.log", true));
pw.println("hejhej");

bare for en test, og den laver da også foobar.log filen, men den skriver intet i den.
og jeg får ingen fejl overhovedet ved compile og run.
Avatar billede arne_v Ekspert
04. december 2004 - 16:43 #9
Der er vel noget id en når programmet afslutter ??

Og hvis du vil have noget løbende skal du nok bare kalde:

pw.flush();
Avatar billede repulse Nybegynder
04. december 2004 - 16:46 #10
som nævnt tidligere skal du huske at kalde .close() når du er færdig med at skrive til filen...
Avatar billede morteeart Nybegynder
04. december 2004 - 16:47 #11
jah, flush() hjalp.. svar ?
Avatar billede arne_v Ekspert
04. december 2004 - 16:48 #12
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester