Datum in *.txt suchen und ersetzen

Status
Nicht offen für weitere Antworten.

ricky

Mitglied
Komme nicht weiter mit meinem Problem

habe eine txt Datei die ich in eine Mysql Datenbank einlesen muss mit java. Datei sieht so aus

Datum;Zeit;Zeitzone;Lufttemperatur [°C];Relative Luftfeuchte [%];Luftdruck [hPa];Windgeschwindigkeit [m/s];Windmaximum [m/s];Windrichtung [°];Verdunstung (Haude) [mm];

03.12.06;00:00;MEZ;14,9;54,7;1011,3;0,0;0,0;0,0;1,7;


Problem 1
Datum in der Datei finden

Problem 2
Datum umwandeln für Mysql von dd.MM.yy nach yyyy-MM-dd

Problem 3
Decimal trennzeichen ersetzen für Mysql von Komma in Punkt

Bis jetzt habe ich nach dem Muster des Datums gesucht und es auch gefunden allerdings kann ich es danach nicht umwandeln und in eine neue Datei schreiben.
Code:
/* Datum finden Umwandeln */

 import java.io.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.lang.String;
 
 
 public class datum1
 {
   public static void main(String[] args)
   {
     LineNumberReader f;
     String line,datum;

     try {
       f = new LineNumberReader(
           new FileReader("c:\\test.txt"));

       while ((line = f.readLine()) != null) {
             System.out.print(f.getLineNumber() + ": ");
             System.out.println(line);


        Pattern p = Pattern.compile("\\d\\d\\.\\d\\d\\.\\d\\d");  //suche nach Datum Muster
        Matcher m = p.matcher(line);

          if (m.find()) {
            System.out.println("Muster an Pos. " + m.start());
                System.out.println("Muster ist: " + m.group());
                datum = m.group();
                System.out.println("datum ist: " + datum);

           //da komme ich nicht weiter habe das Datum als String in datum
           //SimpleDateFormat sdf = new SimpleDateFormat( "dd.MM.yy" );
           //return sdf.format( date );


          }
          else {
            System.out.println("Muster nicht gefunden");
          }

       }
       f.close();
     }

     catch (IOException e) {
       System.out.println("Fehler beim Lesen der Datei");
     }

   }
 }

Vielen dank im Voraus für ihre Tipps oder Hilfe
 

cimnine

Mitglied
Hy

Wenn du beim einlesen eine Zeile nach der andere liest, kannst du jede Zeile splitten. etwa so

Code:
public void read(File f) {
            BufferedReader br = new BufferedReader(new FileReader(f));
            String tmp;
            String[] splitted;
            while ((tmp = br.readLine()) != null) {
                splitted=tmp.split(";");
            }
}

1) Datum in der Datei finden
nun kannst du auf die einzelnen Elemente zugreiffen:
splitted[0] >> Datum
splitted[1] >> Zeit
etc.

2) Datum umwandeln für MySQL
Wenn das Datum immer gleich ausschaut, kannst du dieses mit SimpleDateFormat parsen.
Als Hinweis zur Benutzung hier: http://www.torsten-horn.de/techdocs/java-date.htm

3) Dezimal Trennzeichen ersetzen (von Komma in Punkt)
du kannst auf einen String die replace-Methode gebrauchen:
Code:
String s = "10,34";
s.replace(",",".");

Ich hoffe ich konnte dir ein Wenig helfen, wie du dein Problem angehen könntest.

Greez Chris
 

ricky

Mitglied
Hi,

Das mit dem parsen des Datums habe ich nicht hingekriegt, habe das Problem aber gelöst nur bin ich mit dem Ergebnis nicht so richtig zufrieden weil meiner Ansicht nach, ist es total unprofessionell. Ich weiss aber nicht wie ich das anders machen soll. Bin relativer Anfänger in Java. Für weitere Tipps bin ich ihnen dankbar.

Datei
test.txt

Datum;Zeit;Zeitzone;Lufttemperatur [°C];Relative Luftfeuchte [%];Luftdruck [hPa];Windgeschwindigkeit [m/s];Windmaximum [m/s];Windrichtung [°];Verdunstung (Haude) [mm];
//leerzeile in der Datei
15.12.06;13:13;MEZ;5.8;71.3;991.1;1.6;3.2;58.0;1.2;


Ergebnis
test1.txt

06-12-15;13:13;MEZ;5.8;71.3;991.1;1.6;3.2;58.0;1.2




Code:
/*
*Datum finden Umwandeln
*/

 import java.io.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.lang.String;
 
 
 public class datum1
 {
   public static void main(String[] args)
   {
     LineNumberReader f;
     String line, datum, neuesdatum;

     try {
       f = new LineNumberReader(
           new FileReader("c:\\test.txt"));

       while ((line = f.readLine()) != null) {



             System.out.print(f.getLineNumber() + ": ");
             System.out.println(line);

           

             Pattern p = Pattern.compile("\\d\\d\\.\\d\\d\\.\\d\\d");  //suche nach Datum Muster
             Matcher m = p.matcher(line);
                     if (m.find()) {
                     System.out.println("Muster an Pos. " + m.start());
                     System.out.println("Muster ist: " + m.group());

             datum = m.group();

            System.out.println("datum ist: " + datum);

              char temp[] = datum.toCharArray();               //gefundenes Datum umsortieren
              neuesdatum = "" + temp[6] + temp[7]  + '-' +
              temp[3] + temp[4] + '-' + temp[0] + temp[1];
              
               System.out.println("neues datum ist: " + neuesdatum);

              String tmp;                                        //Zeile Splitten und in Arrays einlesen
              String[] splitted;
              tmp = line;
              splitted = tmp.split(";");
              
              System.out.println("Eingelsen: " + splitted[0]);
                System.out.println("Eingelsen: " + splitted[1]);
                System.out.println("Eingelsen: " + splitted[2]);
                System.out.println("Eingelsen: " + splitted[3]);
                System.out.println("Eingelsen: " + splitted[4]);
                System.out.println("Eingelsen: " + splitted[5]);
                System.out.println("Eingelsen: " + splitted[6]);
                System.out.println("Eingelsen: " + splitted[7]);
                System.out.println("Eingelsen: " + splitted[8]);
                System.out.println("Eingelsen: " + splitted[9]);


              
              PrintWriter w = new PrintWriter(new FileWriter("c://test1.txt"));  //In neue Datei Schreiben

              w.printf("" +neuesdatum+";"+ splitted[1]+";"+ splitted[2]+";"+ splitted[3]+";"+ splitted[4]+";"+ splitted[5]+";"+ splitted[6]+";"+ splitted[7]+";"+ splitted[8]+";"+ splitted[9]);

                w.flush();
                w.close();

          }
          else {
            System.out.println("Muster nicht gefunden");
          }

       }
       f.close();
     }

     catch (IOException e) {
       System.out.println("Fehler beim Lesen der Datei");
     }

   }
 }

danke für eure Hilfe
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Build-Zeitpunt (Datum und Uhrzeit) irgendwie während der Laufzeit zugänglich machen..? Allgemeine Java-Themen 4
T Datum OHNE Uhrzeit Zeitzonen-übergreifend Allgemeine Java-Themen 4
W Datum anzeigen Allgemeine Java-Themen 10
MiMa Datum von zweistelliger Jahreszahl auf 4 Stellen aufrüsten? Allgemeine Java-Themen 4
MiMa Datum von String zu LocalDateTime Allgemeine Java-Themen 8
MiMa Wie sollte am besten ein Datum gespeichert werden? Allgemeine Java-Themen 8
Thallius Wie parse ich dieses Datum richtig? Allgemeine Java-Themen 5
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
Hatsi09 Heutiges Datum Allgemeine Java-Themen 3
J Countdown für Datum und Uhrzeit Allgemeine Java-Themen 4
MiMa Das Datum Format ist mir unbekannt. Allgemeine Java-Themen 1
G Datum letzte 7 tage Allgemeine Java-Themen 6
A Datum und Uhrzeit in andere Zeitzone umrechnen Allgemeine Java-Themen 7
W Datum prüfen + zweistellig Allgemeine Java-Themen 11
M Datum Zeitdifferenz in Stunden umrechnen Allgemeine Java-Themen 4
E Datei anhand Datum identifizieren Allgemeine Java-Themen 3
Dechasa Java 8 - Datum vergleichen Allgemeine Java-Themen 5
M Datum umwandeln. Allgemeine Java-Themen 1
P Datum im gewünschten Bereich Allgemeine Java-Themen 21
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
Bluedaishi Dateien löschen die älter als das aktuelle Datum sind Allgemeine Java-Themen 9
Bluedaishi String Array mit Datum und Uhrzeit String sortieren Allgemeine Java-Themen 6
M Aktuelle Systemzeit und Datum abfragen Allgemeine Java-Themen 2
M datei aufruf datum auslesen Allgemeine Java-Themen 5
R Datum in Excel Tabelle eintragen Allgemeine Java-Themen 6
T auf Valides Datum prüfen Allgemeine Java-Themen 12
E Datum in Kw umrechen Allgemeine Java-Themen 3
E Datum in String Allgemeine Java-Themen 4
K Datum+Uhrzeit in Millisekunden (long) umwandeln Allgemeine Java-Themen 7
C jollyday: prüfen, ob Datum = Feiertag Allgemeine Java-Themen 8
F Tests mit dynamischem Datum Allgemeine Java-Themen 2
K Datum ermitteln Allgemeine Java-Themen 4
N Datum auf 00:00:00 Uhr normalisieren Allgemeine Java-Themen 3
A einzelne Tage als Datum ausgeben Allgemeine Java-Themen 6
S Datum vergleichen - ohne Hilfsmittel Allgemeine Java-Themen 8
T Aktuelles Datum auslesen Allgemeine Java-Themen 2
T Datum um ein Tag reduzieren Allgemeine Java-Themen 6
S log4j, Datum in Fileappendern formatieren Allgemeine Java-Themen 4
V Apache POI Excel Datum auslesen Allgemeine Java-Themen 6
C Datum in Excel auslesen Allgemeine Java-Themen 13
J Funktion zu einer Uhrzeit/datum ausführen Allgemeine Java-Themen 4
M Datum/Uhrzeit in ein Textfeld schreiben Allgemeine Java-Themen 28
L Gregorian Calender falsches Datum Allgemeine Java-Themen 2
0 Datum in Java Date umwandeln Allgemeine Java-Themen 4
S String-Array nach Datum sortieren Allgemeine Java-Themen 10
J Datum und Zeit Allgemeine Java-Themen 4
B Jfree Chart mit Datum und Uhrzeit Allgemeine Java-Themen 6
B Datum jetzt vor einer Woche Allgemeine Java-Themen 5
B warum zählt der Kalender das Datum nicht weiter Allgemeine Java-Themen 2
V Datum vergleichen Allgemeine Java-Themen 7
C Datum erstellen für SQL Format Date Allgemeine Java-Themen 3
C Datum zurücksetzen Allgemeine Java-Themen 9
A String zu Datum parsen - SimpleDateFormat Problem Allgemeine Java-Themen 8
G File.listFiles nach Datum sortiert ausgeben Allgemeine Java-Themen 1
A Datum parsen Allgemeine Java-Themen 9
G Datum vergleichen Allgemeine Java-Themen 5
C Datum addieren Allgemeine Java-Themen 2
G Timestamp aus Datum Allgemeine Java-Themen 4
B Herausfinden ob Datum existiert Allgemeine Java-Themen 2
H2SO3- string mithilfe von .matches als datum identifizieren Allgemeine Java-Themen 4
Z Datum ohne Format-Kenntnisse parsen Allgemeine Java-Themen 5
C ArrayList nach Datum sortieren Allgemeine Java-Themen 7
G Datum um 1 Monat verschoben Allgemeine Java-Themen 3
J Umwandeln von einem String in ein Datum Allgemeine Java-Themen 8
M Aus Anzahl Tagen Datum ermitteln Allgemeine Java-Themen 8
D Email versand bei einem festgelegten Datum Allgemeine Java-Themen 11
T Mit Datum und Zeit rechnen Allgemeine Java-Themen 8
D Datum korrekt erkennen Allgemeine Java-Themen 27
M Datum einlesen aus jTextField Allgemeine Java-Themen 2
M Zukünftiges Datum Allgemeine Java-Themen 3
G Listener auf aktuelles Datum / Uhrzeit Allgemeine Java-Themen 2
G JDK 1.5 und das Datum Allgemeine Java-Themen 7
V Datum parsen Allgemeine Java-Themen 6
V Datei kopieren und Datum erhalten Allgemeine Java-Themen 2
M Datei Handling mit Datum Allgemeine Java-Themen 2
M Datum in Tabelle formatiert ausgeben Allgemeine Java-Themen 3
S Datum einer Datei online? Allgemeine Java-Themen 6
G Anzahl an Tagen auf Datum addieren Allgemeine Java-Themen 4
G Datum im Format yyyy-mm-dd erstellen Allgemeine Java-Themen 1
P Datum in einer DateComboBox setzen Allgemeine Java-Themen 7
MQue Datum in ComboBox setzen Allgemeine Java-Themen 9
J [Aenderungszeit Datei] nur Datum vergleichen Allgemeine Java-Themen 3
G Anzahl Tage in Datum umwandeln Allgemeine Java-Themen 13
M Datum nicht richtig geprüft, warum? Allgemeine Java-Themen 9
L datum nach dem kopiervorgang neu setzen? Allgemeine Java-Themen 2
H Ein zufälliges Datum innerhalb eines Intervalles erzeugen Allgemeine Java-Themen 3
S POI Datum Allgemeine Java-Themen 2
G Datum einer Datei Allgemeine Java-Themen 8
J Datum auf Gültigkeit überprüfen Allgemeine Java-Themen 4
TheJavaKid Datum -> long Allgemeine Java-Themen 9
M Führende Null in einem Datum Allgemeine Java-Themen 3
C Datum-/Zeitdifferenz Allgemeine Java-Themen 5
F Datum gültig ? Allgemeine Java-Themen 9
G Datum konvertieren Allgemeine Java-Themen 14
G mysql datum umwandeln mittels jsp Allgemeine Java-Themen 10
F Datum mit anzahl tagen berechnen Allgemeine Java-Themen 3
F Datum in GregorianCalendar Allgemeine Java-Themen 3
G Datum Allgemeine Java-Themen 4
T Datum testen und Einsetzten Allgemeine Java-Themen 5
K Datum in ein anderes Format bringen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben