Zum Inhalt springen

in .txt speichern und auslesen


aLeXL

Empfohlene Beiträge

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) {}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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) {}

}

//-

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

// 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) {}

}

//_

Link zu diesem Kommentar
Auf anderen Seiten teilen

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(B);

}

catch ( IOException e ) {

System.out.println( "Konnte Datei nicht erstellen" );

}

finally {

try {

if ( fw != null ) fw.close();

} catch (IOException e) {}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

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(B);

}

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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) {}

	    }

		    //_

	}

	}

Link zu diesem Kommentar
Auf anderen Seiten teilen

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");

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...