Toon posts:

[java] out.newLine();

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hi, graag wil ik uit BufferedWriter newLine() gebruiken.

Maar ik weet nu ff niet hoe ik een compilefout op moet lossen aangaande 'private access'.
De foutmelding is:
bufw.java:22 newLine() has private access in java.io.PrintWriter out.newLine();
**************************************************
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.io.*;
import java.util.*;

public class bufw
{
  public static void main (String[] args)
  {
    try {
    String aFileName = schrijf(args[0]);
    }
    catch(IOException e) {
    e.printStackTrace();
    }
  }

  public static String schrijf(String b) throws IOException
  {
    PrintWriter out =
     new PrintWriter(new BufferedWriter(new FileWriter(b+".html")));
    out.write("<html>");
    out.newLine();      // regel 22
    out.close();
    return "piet.html";
  }
}

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

plaats je code ff tussen code tags, dan ga ik em dan ff lezen :)

nou vooruit: de methode newLine() is private en die mag jij dus niet "van buiten" de klasse aanroepen.

als je hier in de api docs kijkt, zie je dat de methode newLine() voor jou helemaal niet aanwezig is in de class PrintWriter ...

out.write("\n") gebruiken voor newLine lijkt me

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


Verwijderd

Topicstarter
Maar newLine() is wel een methode van BufferedWriter.
out.write("\n") is platform afhankelijk.
Moet nog ff uitzoeken hoe codeTags werken hier.

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

Jawel maar PrintWriter erft niet van BufferedWriter, maar je geeft een BufferedWriter als parameter mee aan PrintWriter!

De codetags werken gewoon met de tags
[code]
code:
1

zodoende wordt je text niet geparsed maar blijven spaties/tabs bewaard :)

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

volgens mij kun je gewoon out.println() gebruiken (zonder parameter dus), check hier maar eens

daarbij wordt de newLine niet alleen maar een '\n' maar issie systeem afhankelijk

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • Baron
  • Registratie: Juli 2000
  • Laatst online: 21-06 17:02
Erf uw klasse van BufferdWriter

public class bufw extends BufferedWriter

Zo kan je wel aan newLine()

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

niet erften als het niet nodig is :Y)

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Er is ook een "newline-tekendinges" ergens in een van klasses geloof ik, die is platform "onafhankelijk" gedefinieerd.

Ik zou niet weten hoe ie heet of waar ie zit, maar het moet dan een static final String ("definitie") zijn.

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

line.separator toch? check die link naar println() maar eens, die maakt er volgens mij gebruik van

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 11 januari 2002 12:12 schreef limoentje het volgende:
line.separator toch? check die link naar println() maar eens, die maakt er volgens mij gebruik van
Dat lijkt me inderdaad degene die ik bedoelde :)

Verwijderd

Topicstarter
bedoel je: String newline = System.getProperty("line.separator");

Ok ik gebruik nu out.println();
is voor mij nu het snelst. Later zoek ik nog wel uit hoe het met newLine() moet.

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

met newLine() kan niet want PrintWriter heeft die methode niet public en het lijkt me compleet overbodig om van een andere klasse te gaan erven alleen maar om die methode te krijgen.

De newline string uit de system properties halen kan best, maar dat doet de println() methode ook al voor je en die is beschikbaar in PrintWriter, dus waarom zou je die niet gebruiken?

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


Verwijderd

Topicstarter
Ok

en bedankt. :)

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

jij ook bedankt :) en voor het taggen van je code ;)

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!

Pagina: 1