Daten aus DB in File schreiben. Wie?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hallo!

ich möchte alle daten einer tabelle in ein file schreiben. schön und gut...

doch möchte ich nicht die daten mit dem befehl 'select * fron xyz;', sondern
diese nach und nach mittels 'select * from xyz von 1- 5000'. der grund liegt
an meine datenmenge, da wenn alle daten geholt werden der speicher nicht
mehr mit macht.

wie kann man das realisieren? danke für einen tipp...
 
R

Roar

Gast
hmm da das eine sql frage ist: verschieb das mal bitte einer der mods hier
zu deinem problem: lang ist's her, aber das ollte mit dem limit befehl gehen:
SELECT * FROM xyz LIMIT 5000
und danach:
SELECT * FROM xyz LIMIT 5001, 10000

kann auch sein dass falsch is *g*
 
G

Gast

Gast
klar, aber wie kann ich das machen, das die inhalte des files nicht 'überschrieben' werden...
 
R

Roar

Gast
ööh wie schreibsdt du denn? bei einem FileOutputStream kannst du im konstruktor als argument nen boolean mitgeben der sagt ob die daten angehängt werden sollen oder ob überschrieben werden soll.
 

abollm

Top Contributor
Anonymous hat gesagt.:
...
ich möchte alle daten einer tabelle in ein file schreiben. schön und gut...
doch möchte ich nicht die daten mit dem befehl 'select * fron xyz;', sondern
diese nach und nach mittels 'select * from xyz von 1- 5000'. der grund liegt
an meine datenmenge, da wenn alle daten geholt werden der speicher nicht
mehr mit macht.

Was für eine Datanbank benutzt du denn?
 
G

Guest

Gast
hier wird geschrieben:

Code:
            /*File wird geschrieben*/
            PrintWriter pw = new PrintWriter(new FileWriter(file_.getAbsolutePath() + fileExtension_));

            try {
                while (rs.next()) {

                    /*Zeilenstring*/
                    String temp = "";

                    /*Zeile vorbereiten*/
                    for (int i = 1; i <= temp_column; i++) {
                        if (i != temp_column) {
                            temp = temp + rs.getString(i) + fieldTerminate;
                            //System.out.println(temp);
                        } else {
                            temp = temp + rs.getString(i) + "\n";
                            //System.out.println(temp);
                        }
                    }

                    //System.out.println(temp);

                    /*Zeile in Datei schreiben*/
                    pw.println(temp);

                }
            } catch (SQLException ex) {
               
            }

die db ist eine mysql 4.1

...
 

foobar

Top Contributor
Es gibt die Möglichkeit, mit dem FileWriter, die Daten an eine Datei anzuhängen.
Guckst du hier http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileWriter.html#FileWriter(java.io.File,%20boolean)
 

Bleiglanz

Gesperrter Benutzer
am besten du sparst dir die ganzen temp Strings und die Verkettung, schreib einfach in der while(rs.next()) alles sofort raus;
spar dir mal lieber die System.outs, die Ausgabe auf die Konsole ist extrem langsam und bei 50000 Zeilen ziemlich übel
Code:
               while (rs.next()) {
                    for (int i = 1; i <= temp_column; i++) {
                        pw.print(rs.getString(i));
                        if (i != temp_column) {
                              pw.print(fieldTerminate);
                               // warum println???
                        } else {
                              pw.println("\n"); 
                              // stimmt das? println UND \n?
                        }
                    }
                }
 
G

Gast

Gast
aber beim 'PrintWriter' kann man nicht append mit angeben...

der sinn bei den system.outs war nur zu testzwecken. sind ja auch auskommentiert ;)

muss dann wohl über 'FileWriter' gehen...

woher weiss ich denn, wie häufig die schleife abgearbeitet werden muss, wenn ich alle daten erfassen will? also mittels
Code:
while(noch nicht alle daten erfasst){
   schreibe daten von 2000 bis 70000...
}

danke für die tipps.
 

thE_29

Top Contributor
Code:
else {
                              pw.println("\n");
                              // stimmt das? println UND \n?
                        }

macht das nicht 2 neue Linien?

pw.println(); würd reichen, oder?
 
G

Guest

Gast
hm, leider funktioniert das nicht ganz... vllt. könnt ihr helfen?
Code:
        /*File wird geschrieben*/
        PrintWriter pw = null;

        try {
            /*Übergabe FileWriter mit append = true*/
            pw = new PrintWriter(new FileWriter(file_.getAbsolutePath() + fileExtension_), true);

        } catch (IOException ex) {
            /*** Errorhandling ***********************************/
        }

        int x = 1;
        int y = 500;

        for (int j = 1; j < 5; j++) {

            query = "Select * FROM " + tableName_ + " LIMIT " + x + ", " + y + ";";

            x = x + y;
            y = y + y;

            rs = ac_sql.getResultMySQLSelectQuery(query);

            try {
                while (rs.next()) {

                    /*Zeilenstring*/
                    String temp = "";

                    /*Zeile vorbereiten*/
                    for (int i = 1; i <= temp_column; i++) {
                        if (i != temp_column) {
                            temp = temp + rs.getString(i) + fieldTerminate;
                        } else {
                            temp = temp + rs.getString(i) + "\n";
                        }
                    }
                    /*Zeile in Datei schreiben*/
                    pw.println(temp);
                }
            } catch (SQLException ex) {
                /*** Errorhandling ***********************************/
            }
        }

vielen dank...
 
G

Guest

Gast
ein fehler hat sich eingeschlichen:
Code:
pw = new PrintWriter(new FileWriter(file_.getAbsolutePath() + fileExtension_, true));

so muss es lauten ;)
 
B

bygones

Gast
was geht nicht ?? wird eine exception geworfen (lass dir auf alle fälle in allen catch Blocks den StackTrace ausgeben) ? oder was?
 
G

Guest

Gast
nein eine exception wird nicht geworfen...

die zeilen machen nur nicht, was sie sollten:

es wird eine datei erzeugt mit:

2 12 12 12 12 12 12
3 13 13 13 13 13 13
4 14 14 14 14 14 14
...
500 15 15 15 15 15 15

wenn ich nochmals die methode ausführe steht folgendes im file:

2 12 12 12 12 12 12
3 13 13 13 13 13 13
4 14 14 14 14 14 14
...
500 15 15 15 15 15 15
2 12 12 12 12 12 12
3 13 13 13 13 13 13
4 14 14 14 14 14 14
...
500 15 15 15 15 15 15

dabei möchte ich diese zeilen haben:

2 12 12 12 12 12 12
3 13 13 13 13 13 13
4 14 14 14 14 14 14
...
500 15 15 15 15 15 15
501 12 12 12 12 12 12
502 13 13 13 13 13 13
503 14 14 14 14 14 14
...
1000 15 15 15 15 15 15

wohlmöglich, das die schleife nicht richtig abgearbeitet wird, oder das
'anhängen' nicht korrekt abläuft. wäre hier für hilfe noch einmal sehr
dankbar ;)
 

Bleiglanz

Gesperrter Benutzer
Code:
        int x = 1;
        int y = 500;

        for (int j = 1; j < 5; j++) {

            query = "Select * FROM " + tableName_ + " LIMIT " + x + ", " + y + ";";
            // jetzt kommt dead code: 
            x = x + y; // wozu, x steht schon im SELECT
            y = y + y; // wozu, y steht schon im SELECT
du musst natürlich beim erneuten Aufruf den Offset richtig einstellen, was ist daran so schwer?
 
G

Gast

Gast
so, funktioniert nun...

muss das file natürlich auch mit flush() und close() behandeln.

danke für eure hilfe!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Daten in File schreiben (mit Zeilen beachten) Allgemeine Java-Themen 12
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
padde479 Collections Daten in Dreiecksform Allgemeine Java-Themen 13
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
A Hartgecodete Daten auslagern Allgemeine Java-Themen 4
F Laden von bestimmten Daten aus TAR Archiv Allgemeine Java-Themen 23
S Webservices für binäre Daten? Allgemeine Java-Themen 5
OnDemand Daten in RAM zwischenspeichern oder lieber aus DB holen? Allgemeine Java-Themen 24
J Daten über serielle Schnittstelle empfangen Allgemeine Java-Themen 4
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
S Entities aus XML - Daten. Allgemeine Java-Themen 1
M Schnelleres Speichern von XML-Daten über URLConnection Allgemeine Java-Themen 4
kodela Klasse mit "gezipten" Daten Allgemeine Java-Themen 6
M Daten aus MatLab Datei lesen Allgemeine Java-Themen 8
N Daten einer JCoTable in JTextArea anzeigen Allgemeine Java-Themen 7
kodela Klassen Klasse "vergisst" ihre Daten Allgemeine Java-Themen 2
C Daten für Klassifikationsverfahren gewinnen Allgemeine Java-Themen 6
J Daten von Quelltext Allgemeine Java-Themen 5
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
J Jasper Reports - Daten vom Hoster Allgemeine Java-Themen 2
kodela Daten während Laufzeit zugriffsbereit Allgemeine Java-Themen 15
J Millisekunde zwischen 2 Daten Allgemeine Java-Themen 6
Q Selbständig ActionEvent auslösen zum Daten senden über serielle Schnittstelle Allgemeine Java-Themen 7
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
R Android Daten online senden Allgemeine Java-Themen 0
P Datenbank-MiniGUI fügt keine Daten ein Allgemeine Java-Themen 4
K Gespeicherte Daten von einer LinkedList auf vier LinkedList verteilen Allgemeine Java-Themen 6
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
K Datei (CSV-ähnlich) in Java einlesen & mit teil der Daten Graphen erstellen Allgemeine Java-Themen 9
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
OnDemand Desktop-Applikation schreiben, wie daten persistent? Allgemeine Java-Themen 9
S Erste Schritte Fehlender Gedanken-Ansatz bei Interpretation von Daten Allgemeine Java-Themen 1
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
K Große Mengen an Daten speichern Allgemeine Java-Themen 9
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
A Swing FileWriter schreibt keine Daten in Datei Allgemeine Java-Themen 13
M Daten aus anderen Programmen auslesen Allgemeine Java-Themen 2
D Best Practice Login-Daten: Wie am besten abrufen? Allgemeine Java-Themen 6
L Best Practice Log Dateien analysieren und eventuell passende Daten am Chart darstellen Allgemeine Java-Themen 1
J Serial Port Daten empfangen Allgemeine Java-Themen 5
H Daten via COM Schnittstelle erhalten Allgemeine Java-Themen 2
J Daten persistent speichern Allgemeine Java-Themen 14
S Allgemeine parallelisierte Loesung um Daten im Hintergrund zu laden..? Allgemeine Java-Themen 6
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
G Daten aus Website auslesen Allgemeine Java-Themen 7
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
O Serial Port Daten als Tastaturanschlag senden Allgemeine Java-Themen 0
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
T Input/Output Daten in eine Datei schreiben Allgemeine Java-Themen 4
Z daten bindung Allgemeine Java-Themen 1
A Datentypen Gregorian Calendar - 2 Daten sind gleich?? Allgemeine Java-Themen 3
L Vergleich-Xml-Daten Allgemeine Java-Themen 3
vandread Daten verschlüsseln mit Java oder Datenbank Allgemeine Java-Themen 15
A Daten in Formularen/Vorlagen erstellen und ausdrucken Allgemeine Java-Themen 3
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
Todesbote Excel Blattschutz aufheben und Daten einfügen Allgemeine Java-Themen 3
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
OnDemand PC identifizieren / Daten auslesen Allgemeine Java-Themen 15
G Combobox füllen mit daten aus einer Tabelle Allgemeine Java-Themen 4
J Maven .war enthält veraltete Daten Allgemeine Java-Themen 3
N Daten aus Jar laden Allgemeine Java-Themen 10
P Datentypen String-Daten zu Byte-Zahlen konvertieren - Komme nicht weiter nach vielem versuchen :-/ Allgemeine Java-Themen 7
K Input/Output Daten speichern / laden Allgemeine Java-Themen 2
M Best Practice: Daten aufnehmen-speichern-bereitstellen Allgemeine Java-Themen 8
T Daten effizient verwalten Allgemeine Java-Themen 4
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
S OOP Apache Commons Math - Verwendung von Genetics - Wie werden Daten in Chromosomen gespeichert? Allgemeine Java-Themen 4
C Daten über URL an PHP verschicken Allgemeine Java-Themen 4
R Daten aus DB auslesen in ein formular (JSP) Allgemeine Java-Themen 13
S Library fuer Internet-Text-Daten-Quellen..? Allgemeine Java-Themen 8
H OOP Daten über TCP Allgemeine Java-Themen 5
H Input/Output Binäre Daten konvertieren, Output hat Zeilenumbrüche?? Allgemeine Java-Themen 9
D Daten eines User auslesen. Allgemeine Java-Themen 5
B Input/Output Einbinden von Daten in Java Allgemeine Java-Themen 3
L Einbinden von Daten in ausführbare Jar Allgemeine Java-Themen 6
N Methoden Einzelne Daten aus "Person" auslesen Allgemeine Java-Themen 3
R SerialPort auslesen und Daten verarbeiten Allgemeine Java-Themen 23
ARadauer Wo liegen die Daten der Preferences Klasse Allgemeine Java-Themen 3
Madlip Erste Schritte Java speichert Daten im Programm?!? Allgemeine Java-Themen 9
S JDialog Daten ins JFrame übergeben Allgemeine Java-Themen 5
F Threads synchronisierung des Zugriffes auf daten Allgemeine Java-Themen 4
O Amazon S3 Anmelden / Daten downloaden Allgemeine Java-Themen 2
A Daten aufbereiten Allgemeine Java-Themen 11
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
L Speichern von Daten in JKS Allgemeine Java-Themen 5
K JFreeCharts - Dummy für fehlende Daten Allgemeine Java-Themen 6
M Daten aus doc, pdf .... auslesen Allgemeine Java-Themen 12
Z Daten von einer Klasse in eine andere übertragen Allgemeine Java-Themen 8
A Login-Daten Formular automatisch ausfüllen Allgemeine Java-Themen 10
C Daten speichern und verwalten Allgemeine Java-Themen 3
Z Daten aus einer Internetseite auslesen? Allgemeine Java-Themen 2
E BlueJ Daten in Textdatei schreiben Allgemeine Java-Themen 21
T Gleichzeitige Zugriffe auf Daten auf dem Server Allgemeine Java-Themen 11
ruutaiokwu META-INF-daten bei ungepackten library-projekten während der entwicklung mit einbeziehen...? Allgemeine Java-Themen 2
K Server Daten Visualisieren Allgemeine Java-Themen 3
F HashMap überschreibt Daten von anderen HashMap Allgemeine Java-Themen 5
A Java Projekt (Daten Eingeben, Speichern und in Listen Ausgeben) Allgemeine Java-Themen 6
L Sicherstellen das 2x die gleichen Daten unter bestimmten Keys enthalten sind. Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben