Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

in .txt speichern und auslesen

Empfohlene Antworten

Veröffentlicht

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

}

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.

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

}

//-

BufferedReader reader = null;
reader = new BufferedReader(new FileReader(p_File));
String nextLine = null;
try {
while((nextLine = reader.readLine()) != null) {
[/PHP]

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]

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

}

//_

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

zeile spalte hä?

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

}

new FileWriter( "fabend.txt" ,true));

== append true

also "anhängen an das was vorher war"

dann entsprechend false setzen ;)

new FileWriter( "fabend.txt" ,false));

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

lol

fw = new BufferedWriter(new FileWriter( "fabend.txt" ,false));

fw.write(a);

fw.newLine();

fw.write(B);

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

	    }

		    //_

	}

	}

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.