Zum Inhalt springen

input/output-streams


eqluva

Empfohlene Beiträge

hi, habe grad seit ein paar tagen mit java angefangen und hab mal

n paar fragen zu nem adressbuch.

mit diesem programm :


import java.io.*;

import de.lsbk.io.Fmt;

import de.lsbk.io.Kbd;

import java.util.Date;

import java.text.*;




public class adress

{


static void clr()

{

  System.out.println("\n\n\n\n");

}


static int i,anzahl;

static String kontakte[];

static String ort[];

static int aphone[];

static int vphone[];





  static void menue1()

  {

    clr();

    ort=new String[100];

    kontakte=new String[100];

    vphone=new int[100];

    aphone=new int[100];

    System.out.println("Name eingeben");

    System.out.print("Wieviele?");

    anzahl=Kbd.readInt();



    for(i=0;i<anzahl;i++)

        {

         System.out.println(i+1+"ter Name: ");

         kontakte[i]=Kbd.readString();

         System.out.println("Wohnort:");

         ort[i]=Kbd.readString();

         System.out.println("Phone-Vorwahl:");

         vphone[i]=Kbd.readInt();

         System.out.println("Anschluss:");

         aphone[i]=Kbd.readInt();

        }


    for(i=0;i<anzahl;i++)

     {

     System.out.println(">>> "+kontakte[i]+" chached");

     }

    Kbd.readString();

    clr();

    clr();

    clr();

    clr();

  }


  static void menue2()

  {

    System.out.println("Name ausgeben");

    System.out.println("-------------");

    System.out.println();

    System.out.println(Fmt.strFmt("Nr.",10)+Fmt.strFmt("Name:",16)+Fmt.strFmt("Wohnort:",20)+Fmt.strFmt("Phone:",30));

    System.out.println("--------------------------------------------------------------------------------");

    System.out.println();

    for(i=0;i<anzahl;i++)

             {

              System.out.println(Fmt.intFmt(i+1,0)+(".        ")+Fmt.strFmt(kontakte[i],16)+Fmt.strFmt(ort[i],20)+Fmt.intFmt(vphone[i],0)+Fmt.intFmt(aphone[i],6));

             }

    clr();

    System.out.print("Weiter mit Enter");

    Kbd.readString();

  }

  static void menue3()

  {

    try


                 {

                     File f = new File("adressen.config");

                     PrintWriter out = new PrintWriter(new FileWriter(f));

                     out.println("Eintragung vom:");

                     DateFormat defaultDate = DateFormat.getDateInstance();

                     out.println(defaultDate.format(new Date()));

                     out.println();

                     out.println();

                     for(i=0;i<anzahl;i++)

                     {

                     out.println(kontakte[i]);

                     out.println(ort[i]);

                     out.println(vphone[i]);

                     out.println(aphone[i]);

                     out.println();

                     out.println();

                     System.out.println(">>> "+kontakte[i]+" saved on harddisk C:/.../adressen.config");

                     }

                     out.close();

                 }

                catch (IOException e)

                      {

                      }

     System.out.println();

  }

  public static void main(String[]args)

  {


    char eingabe;

    DateFormat defaultDate = DateFormat.getDateInstance();

    System.out.println(defaultDate.format(new Date()));

    System.out.println("                                                                          v.0.1a");

    System.out.println("*******");

    System.out.println("*Menue*");

    System.out.println("*******");





    clr();

    do

    { System.out.println("***********************");

      System.out.println("*1 = Kontakte eingeben*");

      System.out.println("*2 = Kontakt auslesen *");

      System.out.println("*3 = auf Harddisk     *");

      System.out.println("*Q = Ende             *");

      System.out.println("***********************");

      System.out.print(">>>>");

      eingabe=Kbd.readChar();

      clr();


      switch(eingabe)

      {

        case '1': menue1();break;

        case '2': menue2();break;

        case '3': menue3();break;

        case 'q': case'Q':System.exit(1);

        default : System.out.println("Falsche Eingabe!");

      }

    }

    while (true);

  }


}

kann ich ich namen etc einlesen und dann in einer datei speichern.

das problem ist nun das ich beim erneuten start die namen aus der selben datei lesen will damit sie in der ausgabe(menue2) gleich enthalten bzw. wenn ich weitere namen einlese die alten nicht überschrieben werden.

danke

mfg

Anmerkung Jaraz: Bitte Code Tags benutzen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

sorry fragezeichen vergessen. würde gern wissen, wie ich aus meiner vorher angelegten datei, die daten zurück in meine arrays lesen kann und wie mache stelle ich es am besten an das bei neueingabe die inhalte hinzugefügt und nicht ersetzt werden?????? <--- Fragezeichen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast zwar immer noch den kompletten Wust an Source, den ich nicht lesen will, aber hier mal das prinzipielle Vorgehen.

Du kannst mit einem InputStream die Datei lesen. Das geht in etwa so (Genaueres in der API-Doc):


String string;

BufferedReader reader = new BufferedReader(new FileReader("filename"));

while(string = reader.readLine())

{

    // eingelesene Zeile verarbeiten

}

Damit kannst Du Deine Daten wieder einlesen.

Wenn Du an eine Datei was anhängen willst, dann gibt es für den FileWriter einen Konstruktor, der ein boolean append will. Und das sollte selbsterklärend sein.

Die API-Doc ist Dein bester Freund bei sowas.

Peter

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...
  • 3 Jahre später...
Java ist eine Objektorientierte Sprache, schon gewusst?

Man kann alles vergewaltigen... *heul*

Und, soweit ich weiß sollte es heißen "System.exit(0)" - denn 'q' soll ja einen sauberen Abgang produzieren, und nicht mit Fehlercode 1 abschließen... :eek:

Soweit ich weiss, gab es mal Menschen mit Tolleranz...

Wer sich den Text des users mal genauer durchlesen würde, hätte festgestellt, das es sich hierbei um einen Anfänger handelt. Da wären "Sinnvolle" Tipps hilfreicher als dumme Kommentare loszulassen..:cool:

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