Begrenzung bei PrintWriter?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo allerseits,

habe ein Problem beim Schreiben in eine CSV-Datei. Bevor Berechnungen in die CSV-Datei geschrieben werden, werden die Bezeichnungen semikolonsepariert hineingeschrieben. Das Problem ist nur, dass alle Bezeichnungen zusammen länger als 1024 Zeichen sind und somit nicht alle Bezeichnungen in einer Zeile stehen. Der Nachteil beim Auslesen ist, dass mit readLine() nicht mehr alle Bezeichnungen ausgelesen werden können.
Des Rätsels Lösung wäre quasi ein PrintWriter, der mir in eine Zeile 8096 Zeichen oder mehr schreiben könnte.
Nur wie stelle ich das an?

Mein Code:

Code:
BufferedReader reader = new BufferedReader(new FileReader(filename));
			PrintWriter pw1 = null;
		    Writer fw1 = new FileWriter( compute );
			Writer bw1 = new BufferedWriter( fw1 );
			pw1 = new PrintWriter( bw1 ); 
			String strLine;
			pw1.write(";");
			while((strLine = reader.readLine()) != null){
				String row[] = strLine.split(";");
				pw1.write(row[0] + ";");
	        }

Habe auch schon mit flush() rumprobiert, aber leider kommt dabei das gleiche raus.
Für Antworten bedanke ich mich im Voraus!!


Gruß

Kuba
 
G

Guest

Gast
Danke für die schnellen Antworten!

Warum sollte der PrintWriter das denn nicht können?

hmm... ich gehe davon aus, dass er es kann, aber er will mir sein Geheimnis nicht verraten. ;)

Das Problem ist, dass ich mit readLine() nur 1024 Zeichen bekomme. Das reicht aber leider nicht. Und wenn ich die geschriebene Datei in einem Texteditor aufmache, dann stehen dort auch nur 1024 Zeichen in einer Zeile.
Nun stehe ich da und weiß nicht, wie ich mehr Zeichen in eine Zeile bekomme, um alle Bezeichnungen auslesen zu können.

Was hat denn die Zeilenlänger mit einerm Reader (oder Writer) zu tun?

Das würde ich auch zu gern wissen. Habe das ja schon mit flush() probiert, doch leider wird die Zeile auf 1024 Zeichen weiterhin beschränkt.

Vielleicht wäre es ein Versuch wert ein String-Array anzulegen und das abzuspeichern!?

Gruß

Kuba
 
S

SlaterB

Gast
Code:
public class Test
{

    public static void main(String[] args)
        throws Exception
    {
        Writer fw1 = new FileWriter("test.txt");
        Writer bw1 = new BufferedWriter(fw1);
        Writer pw1 = new PrintWriter(bw1);

        StringBuilder b = new StringBuilder();
        for (int i = 0; i < 1000; i++)
        {
            b.append("12345");
        }
        pw1.write(b.toString());
        pw1.close();
        System.out.println("wrote: " + b.length());


        BufferedReader reader = new BufferedReader(new FileReader("test.txt"));
        String a = reader.readLine();
        System.out.println("read: " + a.length());

    }
}
Ausgabe bei mir:
wrote: 5000
read: 5000


was kommt bei dir und dann auch mal Datei im Texteditor anschauen?
 

ARadauer

Top Contributor
@gast: zeig uns mal deinen code, wo du schreibst.

wenn dort schon nur 1024 zeichen geschrieben werden, dann hilft uns dein code wo du ließt nicht viel.
 
G

Guest

Gast
Hallo,

hab den Code ausprobiert und er funktioniert. Wenn ich die Datei in Notepad öffne, dann bekomme ich in einer Zeile 1024 Zeichen und unter edit (in der Eingabeaufforderung) 1022.
Aber trotzdem danke @SlaterB, weil ich jetzt gesehen habe, dass readLine() doch alles geschriebene in einer Zeile berücksichtigt. Habe hier nämlich mit 20000 Datensätzen zu tun, bei dem ich anscheinend den Überblick etwas verloren habe. :oops:
Mein Fehler liegt in meiner Datei weiter unten. Habe nämlich die readLines() als String importiert und dann zu double geparst. Da aber bei den Dezimalbrüchen ein Komma verwendet wird, konnte der String nicht richtig nach double geparst werden.
Hat mich nur gewundert, warum ab 1024 Zeichen einfach eine neue Zeile angefangen wurde.

Vielen Dank für die Hilfe!

Gruß

Kuba
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E begrenzung des platzes im heap Java Basics - Anfänger-Themen 4
F u.a. Ressourcen begrenzung für Java-Anwendung Java Basics - Anfänger-Themen 5
StickToFreak Mit GameLoop "Spielfeld-Begrenzung" Java Basics - Anfänger-Themen 24
M Gibt es eine Begrenzung der Anzahl der Objekte? Java Basics - Anfänger-Themen 5
T Printwriter Datei nicht überschreiben Java Basics - Anfänger-Themen 10
Queiser1304 PrintWriter Java Basics - Anfänger-Themen 2
M Frage zu printWriter Java Basics - Anfänger-Themen 5
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
A Datei Ein und Ausgabe FileWriter und printWriter Java Basics - Anfänger-Themen 5
F FileCreation - PrintWriter funktioniert nicht... Java Basics - Anfänger-Themen 1
S PrintWriter Fehler Java Basics - Anfänger-Themen 5
C PrintWriter schreibt keine in Strings enthaltenen Zeilenumbrüche Java Basics - Anfänger-Themen 9
O Input/Output Ein (negatives) Byte über PrintWriter hinausschreiben Java Basics - Anfänger-Themen 3
G PrintWriter each line möglich? Java Basics - Anfänger-Themen 4
N Fehlersuche Printwriter Java Basics - Anfänger-Themen 6
S PrintWriter Java Basics - Anfänger-Themen 5
M Verständnis von PrintWriter Java Basics - Anfänger-Themen 12
J I/O - PrintWriter oder BufferedWriter Java Basics - Anfänger-Themen 7
J Printwriter wie kann ich daten geordnet schreiben???? Java Basics - Anfänger-Themen 8
A PrintWriter und Scanner bei Sockets Java Basics - Anfänger-Themen 2
L PrintWriter autoflush: println funktioniert, print nicht Java Basics - Anfänger-Themen 3
S PrintWriter-Probleme mit toString Methode->Person@17182c1 Java Basics - Anfänger-Themen 10
A PrintWriter und Kommandozeile Java Basics - Anfänger-Themen 5
S PrintWriter mit StringBuffer? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben