aLeXL Geschrieben 20. Juni 2006 Geschrieben 20. Juni 2006 Hi, folgende Aufgabe muss gelöst werden: Eine pg1.txt Datei wird erstellt, falls sie noch nicht vorhanden ist. Dann wird beim ersten mal in die oberste Zeile mein Wert aus der Variable gespeichert. Beim nächsten Ausführen des Programms muss dann allerdings in die nächste Zeile gespeichert werden, also in die Zweite. Beim dritten mal dann in die Dritte. Das ganze soll dann so ausgelesen werden, dass alle Zahlen aus jeder Zeile addiert werden, z.B. 3+4+2 Das Ergebnis 9 wird dann in meine Variable gespeichert und mit der Rechne ich dann weiter. Mein Problem ist im Moment, dass ich nicht weiß, wie ich das passend Auslesen kann, bzw ob ich das bisher richtig speichere. Mein Code sieht bisher wie folgt aus: //Speichern der Überstunden Heute FileWriter fw = null; try { fw = new FileWriter( "fileWriter.txt" ); fw.write(üh5+ühm); } catch ( IOException e ) { System.out.println( "Konnte Datei nicht erstellen" ); } finally { try { if ( fw != null ) fw.close(); } catch (IOException e) {} } Zitieren
perdian Geschrieben 20. Juni 2006 Geschrieben 20. Juni 2006 Als generelle Einführung Java und IO: http://www.galileocomputing.de/openbook/javainsel4/javainsel_12_000.htm Zitieren
aLeXL Geschrieben 20. Juni 2006 Autor Geschrieben 20. Juni 2006 sers perdi Javainsel, mein toller Freund ^^ Hab darin schon oft gesucht aber werd da irgendwie nie richtig fündig. Sieht aber recht ok aus, ich schau mir das mal an. Hatte eigentlich gehofft, dass ihr mir ein paar Beispiel Quellcodes posten könntet, damit ich das ganze besser versteh. edit: Also steht drin wie ich speicher und wie ich ordner erstelle und durchsuche nach dateien usw.. Speichern kann ich ja schon, wollte eigentlich wissen, wie ich Werte aus einer Datei auslesen kann. Zitieren
aLeXL Geschrieben 20. Juni 2006 Autor Geschrieben 20. Juni 2006 ah, kann leider nimmer editieren :/ Also ich kann jetzt speichern und auslesen, hab ich hinbekommen. Allerdings ist die Frage, wie speicher ich in eine neue Zeile und wie lese ich die einzelnen Zeilen aus? Mein Code: // Speichern der Überstunden Heute FileWriter fw = null; try { fw = new FileWriter( "fabend.txt" ); fw.write(üh5+ühm); } catch ( IOException e ) { System.out.println( "Konnte Datei nicht erstellen" ); } finally { try { if ( fw != null ) fw.close(); } catch (IOException e) {} } //__ //Auslesen der Überstunden Total String filename = "fabend.txt"; byte buffer[] = new byte[ 4000 ]; FileInputStream in = null; try { in = new FileInputStream( filename ); int len = in.read( buffer, 0, 4000 ); String str = new String( buffer, 0, len ); t4.setText(str); } catch ( IOException e ) { System.out.println( e ); } finally { try { if ( in != null ) in.close(); } catch (IOException e) {} } //- Zitieren
geloescht_Newlukai Geschrieben 20. Juni 2006 Geschrieben 20. Juni 2006 BufferedReader reader = null; reader = new BufferedReader(new FileReader(p_File)); String nextLine = null; try { while((nextLine = reader.readLine()) != null) { [/PHP] Zitieren
aLeXL Geschrieben 20. Juni 2006 Autor Geschrieben 20. Juni 2006 hm ok, wo genau muss das jetzt hin? Das ist ja nur der reader, ich wollt jetzt eigentlich erstmal bei meinem Writer noch hinbekommen, dass er immer den Wert in eine neue Zeile schreibt: // Speichern der Überstunden Heute FileWriter fw = null; try { fw = new FileWriter( "fabend.txt" ); fw.write(mg); } catch ( IOException e ) { System.out.println( "Konnte Datei nicht erstellen" ); } finally { try { if ( fw != null ) fw.close(); } catch (IOException e) {} } //_ [/PHP] Zitieren
tkdmatze Geschrieben 20. Juni 2006 Geschrieben 20. Juni 2006 // Speichern der Überstunden Heute BufferedWriter fw = null; try { fw = new BufferedWriter(new FileWriter( "fabend.txt" ,true)); fw.write(mg); fw.newLine(); } catch ( IOException e ) { System.out.println( "Konnte Datei nicht erstellen" ); } finally { try { if ( fw != null ) fw.close(); } catch (IOException e) {} } //_ Zitieren
aLeXL Geschrieben 20. Juni 2006 Autor Geschrieben 20. Juni 2006 tkdmatze, mein Meister, funktioniert :uli Möchte jetzt allerdings, dass er nicht jedesmal in eine neue Zeile schreibt, sondern dass er Wert a immer in die erste Zeile schreibt und Wert b immer in die zweite Spalte Zitieren
aLeXL Geschrieben 20. Juni 2006 Autor Geschrieben 20. Juni 2006 mh sry, verschrieben. in die erste zeile schreibt er immer wert a und in die zweite zeile schreibt er immer b kann ich das so machen? BufferedWriter fw = null; try { fw = new BufferedWriter(new FileWriter( "fabend.txt" ,true)); fw.write(a); fw.newLine(); fw.write(; } catch ( IOException e ) { System.out.println( "Konnte Datei nicht erstellen" ); } finally { try { if ( fw != null ) fw.close(); } catch (IOException e) {} } Zitieren
tkdmatze Geschrieben 20. Juni 2006 Geschrieben 20. Juni 2006 new FileWriter( "fabend.txt" ,true)); == append true also "anhängen an das was vorher war" dann entsprechend false setzen new FileWriter( "fabend.txt" ,false)); Zitieren
aLeXL Geschrieben 20. Juni 2006 Autor Geschrieben 20. Juni 2006 versteh ich nich so ganz :confused: kannste das mal mit den code so schreiben, dass ich seh wo ich was anhängen muss ? so? BufferedWriter fw = null; try { fw = new BufferedWriter(new FileWriter( "fabend.txt" ,true)); fw.write(a); fw.newLine(); fw = new BufferedWriter(new FileWriter( "fabend.txt" ,false)); fw.write(; } catch ( IOException e ) { System.out.println( "Konnte Datei nicht erstellen" ); } finally { try { if ( fw != null ) fw.close(); } catch (IOException e) {} } Aber wie gesagt, soll nur in die erste und zweite Zeile schreiben, nichtsmehr mit fortlaufend untereinander Zitieren
tkdmatze Geschrieben 20. Juni 2006 Geschrieben 20. Juni 2006 lol fw = new BufferedWriter(new FileWriter( "fabend.txt" ,false)); fw.write(a); fw.newLine(); fw.write(; Zitieren
aLeXL Geschrieben 20. Juni 2006 Autor Geschrieben 20. Juni 2006 ok, hab das drin und funktioniert auch, hab jetzt aber ein anderes problem, dass sich die beiden Werte nicht überschreiben lassen. Kannste dir meinen Quelltext mal plz anschauen ? //Einlesen der Überstunden Total String filename = "fabend.txt"; byte buffer[] = new byte[ 4000 ]; FileInputStream in = null; try { in = new FileInputStream( filename ); int len = in.read( buffer, 0, 4000 ); mgg = new String( buffer, 0, len ); t4.setText(mgg); } catch ( IOException e ) { System.out.println( e ); } finally { try { if ( in != null ) in.close(); } catch (IOException e) {} } //_ //Überstunden Total + Überstunden Heute (fürs Speichern) mggi=Integer.valueOf(mgg).intValue(); if (mggi<=0) {} else { mgi=mggi+üh2; mg=String.valueOf(mgi); } // Speichern der Überstunden Heute BufferedWriter fw = null; try { fw = new BufferedWriter(new FileWriter( "fabend.txt" ,false)); if (mggi<=0) { fw.write(üh2s); fw.newLine(); fw.write("1"); } else { fw.write(mg); fw.newLine(); fw.write("1"); } } catch ( IOException e ) { System.out.println( "Konnte Datei nicht erstellen" ); } finally { try { if ( fw != null ) fw.close(); } catch (IOException e) {} } //_ } } Zitieren
aLeXL Geschrieben 20. Juni 2006 Autor Geschrieben 20. Juni 2006 mit diesem code geht es, die ausgabe a in der .txt wird überschrieben: fw = new BufferedWriter(new FileWriter( "fabend.txt" ,false)); if (mggi<=0) { fw.write(üh2s); Aber sobald ich folgendes Einfüge, werden die Ausgaben von a bzw b in der .txt anscheinend nichtmehr überschrieben: fw = new BufferedWriter(new FileWriter( "fabend.txt" ,false)); if (mggi<=0) { fw.write(üh2s); fw.newLine(); fw.write("1"); Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.