Zum Inhalt springen

Suche eine methode zum speichern einzelner Zeile


thmb123

Empfohlene Beiträge

Moin

wir sind gerade schwer am werkeln und haben ein problem.

Wir haben aus einer CSV Liste Daten ausgelesen und berechnet,

Nun müssen wir die erhaltenen Ergebnisse wieder Speichern und zwar jeden String in seine eigene Datei .

Wie geht sowas ?

Wäre nett wen uns jemand helfen könnte !!! :beagolisc

( Wir sind Java Anfänger und das Programm soll zum auslesen einer Telefonanlage dienen )

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Diese Methode hab ich vor ner Woche erstellt nachdem mir ein paar nette Leute aus dem Forum Geholfen haben. Geht recht gut hoffe es hilft dir.(Nur Strings Speichern). Bei Zahlen erst in String umwandeln und dann nach dem Laden wieder zurück umwandeln.

Speichern mit:

Dateizugriff.setInFile("Hallo";"testdatei");

Laden mit:

String x = Dateizugriff.getFromFile("testdatei");

__________________________________________________


import java.io.*;


public class Dateizugriff

{

  public static void setInFile(String input, String file)

  {

    FileWriter writer;

    try

    {

      writer = new FileWriter(file);

      writer.write(input);

      writer.close();

    }

    catch (IOException f)

    {

      System.err.println(f);

      f.printStackTrace();

    }

  }


  public static String getFromFile(String file)

  {

    String line = "";

    String output = "";


    try

    {

      BufferedReader in = new BufferedReader(

      new FileReader(file));

      line = in.readLine();

      output = line;

      while ( line != null )

      {

        line = in.readLine();

      }

      in.close();

    }

    catch ( IOException iox )

    {

      System.out.println("Could not find " + file);

    }


    return output;

  }

}

Anmerkung von Jaraz: Bitte code Tags benutzen. ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

das ging leider nicht !! :confused:

Der String muss am Ende der Schleife gespeichert werden !


public static void anrufnummerSuchen()

	{

		int nr;

		String zeile = " ", test, vorname, anfangsbuchstaben, aStartDatum = " ";

		String nummer, aStartZeit = " ", aEndZeit = " ", aEndDatum = " ";


		try

	    {

		   	//Versuch

		   	//String line; 

			//String[] splitLines;

			BufferedReader in = new BufferedReader(new FileReader("telefon.csv")); 

		   	//Versuch


		   	einAusgabestrom.println("\t########################################");

		   	einAusgabestrom.println("\t##                                    ##");

		   	einAusgabestrom.println("\t## Der verfügbare Nummernbereich ist: ##");

		   	einAusgabestrom.println("\t##                                    ##");

		   	einAusgabestrom.println("\t##   0711-9112-10 bis 0711-9112-100   ##");

		   	einAusgabestrom.println("\t##                                    ##");

		   	einAusgabestrom.println("\t########################################\n\n");


		   	einAusgabestrom.println("Geben Sie die Anfangsbuchstaben " +

		   		"des Vornamens ein!\n\n");

		   	anfangsbuchstaben = eineTastaturEingabe.readLine();

		   	// Objekt vom Typ Enumeration für alle Elemente des Vectors erzeugen


			einAusgabestrom.println("Anruf-Nr.: \n");



			//Enumeration eineAufzaehlung = telefonliste.elements();

			int eineZahl = telefonliste.size();


			einAusgabestrom.println(eineZahl);



		   	//while (eineAufzaehlung.hasMoreElements())

		   	for (nr = 0;nr < eineZahl;nr++)

		   	//while((line = in.readLine()) != null)

		   	{

		       	zeile = (String)telefonliste.elementAt(nr);

		       	zeile = zeile.toLowerCase();


		       	if(zeile.startsWith(anfangsbuchstaben))

		       	{


		       		StringTokenizer st = new StringTokenizer(zeile,";",false);

		       		for (int a = 0;a < 6; a++)

		       		{

		       			//einAusgabestrom.println(a);

		       			String spalte = st.nextToken();


		       			if(a == 2)

		       			{

			       			aStartDatum = spalte;

			       			einAusgabestrom.println(aStartDatum);

		       			}



		       			if(a == 3)

		       			{

		       				aStartZeit = spalte;

		       				einAusgabestrom.println(aStartZeit);

		       			}



		       			if(a == 4)

		       			{

		       				aEndDatum = spalte;

		       				einAusgabestrom.println(aEndDatum);

		       			}



		       			if(a == 5)

		       			{

		       				aEndZeit = spalte;

		       				einAusgabestrom.println(aEndZeit);

		       			}


		       		}


		       	}


		       		//if (vorname.startsWith(anfangsbuchstaben))

		       		//{

		       			//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 0));

		       		//	einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 1));

		       			//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 2));

		       			//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 3));

		       			//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 4));

		       			//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 5));

		       			//break;


		       		//}

		       		//else if (nummer.startsWith(anfangsbuchstaben))

		       		//{

			       		//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 0));

			       		//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 1));

			       	//	einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 2));

		    	   		//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 3));

		       			//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 4));

		       			//einAusgabestrom.println("\t"+ feldAusDatensatz(zeile, 5));

		       			//break;

		       		//}

				}




	    }

		catch (Exception e)

Wir haben schon viel versucht aber nix geht !

Link zu diesem Kommentar
Auf anderen Seiten teilen

wie kann ich eigentlich etwas in eine Datei schreiben aber den Inhalt wo ich schreiben möchte dann nur an den vorhanden Inhatl der Textdatei anhängen ?

weil mit myFileWrite.write(myString) überschreibt er mir den vorhandenen Inhalt.

FileWriter hat in seinem Konstruktor die Möglichkeit append = true zu setzen!

Damit schreibt er die Datei nach hinten fort.

Link zu diesem Kommentar
Auf anderen Seiten teilen

File f = new File("test.txt");

erzeugt ein neues File test.txt im jeweiligen Ordner.

Wenn du allerdings in ein Verzeichnis schreiben willst, welches nicht existiert muss dieses vorher angelegt werden, entweder über Java (oder zur Not per Hand).

Mit f.exists() - prüfen ob file vorhanden

mit f.isDirectory() - prüfen ob objekt ein Directory

mit f.isFile() - prüfen ob Objekt eine Datei ist

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...