Seltsames Verhalten im Konstruktor

MiMa

Top Contributor
Im Konstruktor möchte ich bei der Erstellung von einem Objekt gleich einiges an Daten erzeugen lassen.
Auszug aus dem Konstruktor
Java:
public Datei(File quellDatei, Einstellungen einstellungen ) throws IOException, TikaException {
        /* Daten die sofort ermittelt werden können */
        this.dateiQuelle = quellDatei;
        this.nameEndung = quellDatei.getName();
        this.name = entferneEndung(quellDatei.getName());
        this.MediaTyp = sucheMediaTyp(quellDatei);
        this.MediaHauptTyp = sucheMediaHauptTyp(this.MediaTyp);
        this.MediaUnterTyp = sucheMediaUnterTyp(this.MediaTyp);
        this.endung = sucheEndung(quellDatei.getName());
        this.dateiZiel = new File(einstellungen.getVerzeichnisPfadZiel().toString() + "//" + this.nameEndung);
        // datumErstellunng
        // datumJahrErstellung
        long datumAenderungMillisekunden = quellDatei.lastModified();
        this.datumAenderung = Datum.konvertiereVonMillisekunden(datumAenderungMillisekunden);
        // inhaltLeer
        // inhalt
Dazu habe ich eine Methode geschrieben bei der das Datum von Millisekunden in ein String Datum umgewandelt wird.
Das funktioniert soweit und konnte das im Log nachlesen.
Code:
2020-05-08 20:16:46 [main] INFO  Funktionen.Datum - Das Datum in Millisekungen wurde übergeben : 1299433596000
2020-05-08 20:16:46 [main] INFO  Funktionen.Datum - Das Datum wurde von Millisekunden konvertiert : 06.03.2011

Allerdings verstehe ich nicht, warum es dann im Objekt nicht enthalten ist?
Das Aenderungsdatum ist : null ???
Code:
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Die Quelldatei ist           : B:\01 Postfach\04 Text mit komplette Stichworte.pdf
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Die Zieldatei ist            : B:\02 Bibliothek\04 Text mit komplette Stichworte.pdf
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Der Dateiname ist            : 04 Text mit komplette Stichworte
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Der Dateiname mit Endung ist : 04 Text mit komplette Stichworte.pdf
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Die Dateiendung ist          : .pdf
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Der MediaType ist            : application/pdf
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Der MediaHauptTyp ist        : application
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Der MediyUnterTyp ist        : pdf
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Das Erstellungsdatum ist     : null
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Das Erstellungsjahr ist      : null
2020-05-08 20:16:46 [main] INFO  Programm.Programmstart - Das Änderungsdatum ist       : null
Variablendeklaration
Mi
Java:
 private String datumAenderung;
Get und Set Methoden
Java:
public String getDatumAenderung() {
        return datumAenderung;
    } // getDatumAenderung
   
public void setDatumAenderung(String datumAenderung) {
        this.datumAenderung = datumAenderung;
    } // setAenderungDatum


Ich hatte das Phenomen auch schon mal bei Dateiname ohne Dateiendung.
Auf einmal funktionierte es dann doch, weis aber nicht warum, weil ich dann daran keine Änderung dran vorgenommen hatte.

Für einen Tipp wäre ich dankbar.
 
Zuletzt bearbeitet:

LimDul

Top Contributor
An welcher Stelle werden die Log-Ausgaben wie erzeugt? Wird dazwischen ggf. mal set mit null als Parameter aufgerufen?
 

MiMa

Top Contributor
Konvertierung
Java:
public static String konvertiereVonMillisekunden(long datumMillisekunden) {
        LOG.info("Das Datum in Millisekungen wurde übergeben : " + datumMillisekunden);
        // Long Datum in ein Date umwandeln
        Date datumM = new Date(datumMillisekunden);
        // Date in einen String mit neuem Format umwandeln
        SimpleDateFormat datumFormat = new SimpleDateFormat("dd.MM.yyyy");
        String datum =  datumFormat.format(datumM);
        LOG.info("Das Datum wurde von Millisekunden konvertiert : " + datum);
        LOG.info("*****************************************************************************");
        return datum;
    } // konvertiereDatumVonMillisekunden
Die Logging Methode
Code:
public static void pruefeDateiInhalte(Datei dateiObjekt) {
        LOG.info("Die Quelldatei ist           : " + dateiObjekt.getDateiQuelle());
        LOG.info("Die Zieldatei ist            : " + dateiObjekt.getDateiZiel());
        LOG.info("Der Dateiname ist            : " + dateiObjekt.getName());
        LOG.info("Der Dateiname mit Endung ist : " + dateiObjekt.getNameEndung());
        LOG.info("Die Dateiendung ist          : " + dateiObjekt.getEndung());

        LOG.info("Der MediaType ist            : " + dateiObjekt.getMediaTyp());
        LOG.info("Der MediaHauptTyp ist        : " + dateiObjekt.getMediaHauptTyp());
        LOG.info("Der MediyUnterTyp ist        : " + dateiObjekt.getMediaUnterTyp());

        LOG.info("Das Erstellungsdatum ist     : " + dateiObjekt.getDatumErstellung());
        LOG.info("Das Erstellungsjahr ist      : " + dateiObjekt.getDatumJahrErstellung());
        LOG.info("Das Änderungsdatum ist       : " + dateiObjekt.getDatumErstellung());

        LOG.info("Der Dateiinhalt ist Leer     : " + dateiObjekt.isInhaltLeer());
        LOG.info("Der Dateiinhalt ist          : " + dateiObjekt.getInhalt());
        LOG.info("Der Dateikommentar ist       : " + dateiObjekt.getKommentar());

        LOG.info("Die Prüfsumme der datei ist  : " + dateiObjekt.getPruefsumme());
        LOG.info("Der Zustand der Datei ist    : " + dateiObjekt.getZustand());
        LOG.info("*****************************************************************************");
    } // pruefeDateiInhalte
Main Auszug
Java:
// Schleife für einzelne Ausgabe der Dateien: ANFANG
        for (File eintrag : dateiListe) {
            LOG.info("Erstellt ein Dateiobjekt für das speichern von Daten zur Datei");
            Datei dateiObjekt = new Datei(eintrag, einstellungen);
            pruefeDateiInhalte(dateiObjekt);

Die gibt nicht null zurück, das habe ich gestest indem ich im Konstruktor die Ausgabe mal einen Logeintrag einbaute und es wurde der richtige Wert ausgegeben.

Im Konstruktor habe ich auch das mal ausprobiert
Java:
this.datumAenderung = "Ein Text im Aenderungsdatum";
Es hat keine Wirkung gezeigt, obwohl der Dateityp für Aenderungsdatum String ist???

Auszug Konstruktor
Code:
long datumAenderungMillisekunden = quellDatei.lastModified();
LOG.info("Testausgabe vom Datum : " + Datum.konvertiereVonMillisekunden(datumAenderungMillisekunden));
Logausgabe
Code:
2020-05-09 00:23:16 [main] INFO  Dateiarten.Datei - Testausgabe vom Datum : 06.03.2011

ich vermute dass die Zuweisung "this.datumAenderung" irgendwie nicht funktioniert ????
Funktioniert nicht mal wenn ich eine Zeichenkette zuweise?
 
Zuletzt bearbeitet:

LimDul

Top Contributor
Deine Log Ausgabe ist falsch, da ist ein Copy und Paste Fehler drin, du gibst das Datum der Erstellung aus anstelle den Änderungsdatum.
 

MiMa

Top Contributor
Vielen Dank,
ich hin froh das es nichts komplizierteres war.
Über die Logging Methode habe ich auch drüber geschaut, habe es aber nicht gesehen.
War gestern vielleicht zu lange am Rechner. ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Programm beendet sich nicht und weiteres seltsames Verhalten Java Basics - Anfänger-Themen 9
D Seltsames Verhalten... Java Basics - Anfänger-Themen 5
A Seltsames Verhalten beim ButtonClick (ActionListener() ) Java Basics - Anfänger-Themen 7
S Compiler-Fehler Seltsames Typverhalten eines Iterators Java Basics - Anfänger-Themen 3
P Seltsames numerisches Problem Java Basics - Anfänger-Themen 5
K Seltsames Ergebnis in Netbeans bei einfacher Multiplikation Java Basics - Anfänger-Themen 5
J Doppelte Integer aus einem Array entfernen - seltsames Prob. Java Basics - Anfänger-Themen 5
F Seltsames Konstrukt? Java Basics - Anfänger-Themen 5
S Seltsames Java Problem Java Basics - Anfänger-Themen 3
M seltsames Phänomen in der Auswertung boolscher Variablen Java Basics - Anfänger-Themen 7
D Seltsames Problem mit this! Java Basics - Anfänger-Themen 19
M Seltsames java.util.Date Problem Java Basics - Anfänger-Themen 6
M Seltsames Problem Java Basics - Anfänger-Themen 4
R Datentypen Das Verhalten von Strings als Datentypen Java Basics - Anfänger-Themen 7
MarvinsDepression Operatoren Verhalten von BitShiftOperatoren Java Basics - Anfänger-Themen 2
G Merkwürdiges Verhalten der Maven IDE Java Basics - Anfänger-Themen 3
D Unerwartetes Verhalten bei Client Server Chat App Java Basics - Anfänger-Themen 12
G unklares Verhalten nach Instanzierung neuer Klasse Java Basics - Anfänger-Themen 3
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
K Klassen Eclipse Verhalten bei Klassen Java Basics - Anfänger-Themen 16
M Verhalten von LocalDateTime#getNano() Java Basics - Anfänger-Themen 1
T Objekte mit Verhalten Java Basics - Anfänger-Themen 14
D Klassen Verhalten von Klassenvererbung bei Variablen Java Basics - Anfänger-Themen 1
O JFileChooser Verhalten -Pfad Java Basics - Anfänger-Themen 15
S Verhalten von JTextField in einem JTabbedPane (Register) Java Basics - Anfänger-Themen 6
G Input/Output Verhalten BuffferedReader bei unvollständigen Zeichen Java Basics - Anfänger-Themen 1
D Interface für Verhalten von "=="? Java Basics - Anfänger-Themen 21
B Thread komisches Verhalten auf Mac ... Java Basics - Anfänger-Themen 6
B Komisches Verhalten von ArrayList Java Basics - Anfänger-Themen 6
S JInternalFrame in JInternalFrame - Verhalten Java Basics - Anfänger-Themen 2
F Nicht nachvollziehbares Verhalten Java Basics - Anfänger-Themen 7
K Komisches Verhalten beim erstellen einer Datei Java Basics - Anfänger-Themen 5
T unerklärliches Verhalten von Scanner Java Basics - Anfänger-Themen 2
Ham Verhalten beim Initialisieren von Arrays Java Basics - Anfänger-Themen 16
D Komisches Verhalten einer For-Schleifen Java Basics - Anfänger-Themen 7
zilti Unlogisches Verhalten Java Basics - Anfänger-Themen 4
N public void und verhalten bei return Java Basics - Anfänger-Themen 2
P Komisches Verhalten von BufferedReader und readLine() Java Basics - Anfänger-Themen 2
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
T Schlüsselworte Schlüsselwort this im Konstruktor Java Basics - Anfänger-Themen 3
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
J Konstruktor Java Basics - Anfänger-Themen 18
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Konstruktor und update Java Basics - Anfänger-Themen 4
K Kopier-Konstruktor Java Basics - Anfänger-Themen 6
S Default Konstruktor Java Basics - Anfänger-Themen 7
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
HorstSchröder Konstruktor mit Initialwert Java Basics - Anfänger-Themen 1
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
C Unbekannter "Konstruktor"?? Java Basics - Anfänger-Themen 10
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
R Objekt in Konstruktor ist nicht zulässig Java Basics - Anfänger-Themen 5
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
E ArithmeticException im Konstruktor Java Basics - Anfänger-Themen 4
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
W Typecastin im Konstruktor? Java Basics - Anfänger-Themen 2
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
C Konstruktor mit und ohne Parameterliste Java Basics - Anfänger-Themen 13
L Instanzvariablen, Veerbung, Konstruktor Java Basics - Anfänger-Themen 32
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
E Plausibilitätsprüfung in dem Konstruktor mit Ausnahmebehandlung Java Basics - Anfänger-Themen 8
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1
P Counter im Konstruktor Java Basics - Anfänger-Themen 11
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
T Datentypen Warum mit Konstruktor Objektvariablen initalisieren? Java Basics - Anfänger-Themen 19
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
P Konstruktor. Java Basics - Anfänger-Themen 4
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
D Objekt oder Konstruktor Java Basics - Anfänger-Themen 2
F Java default Konstruktor Java Basics - Anfänger-Themen 1
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
T Konstruktor mit Referenzdatentypen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben