thmb123 Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
speedi Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
thmb123 Geschrieben 11. November 2004 Autor Teilen Geschrieben 11. November 2004 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 ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mkScheller Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 also wenn da nicht soviel code stünde, würde das die leute vielleicht nicht so dermaßen abschrecken, woran scheitert es denn ganz konkret? ganz konkret? bitte den code strukturieren, is einfacher zu lesen gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zirri Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 hi, wo ich hier gerade deinen code sehe (du kommst aus der VB Programmierung, oder?): du schreibst du seist anfaenger, dann rate ich dir zunaechst mal die sun code conventions durchzulesen: http://java.sun.com/docs/codeconv/ dann kann man deinen code auch vielleicht lesen gruss / zirri Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
speedi Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 Bitte Poste mal nen Code wo nur das wesentliche drin Steht(nicht die Meldungen für den User! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
thmb123 Geschrieben 11. November 2004 Autor Teilen Geschrieben 11. November 2004 Hat sich erledigt wir haben was gefunden Danke für eure hilfe !!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ByteRix Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 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. mfg byte Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ByteRix Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 ah ok thx, werds gleich mal probieren und hab ich auch die möglichkeit wenn ein Textfile nicht bestehe eines gleich anzulegen ? mfg byte Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Krain Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ByteRix Geschrieben 11. November 2004 Teilen Geschrieben 11. November 2004 ahja ok thx, wie ich ein directory anleg werd ich glaub ich dann selber schaffen thx, mfg byte Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.