Dateiinfo von Win-Datei auslesen

MadMax2581

Mitglied
Hallo Zusammen!

Ich hoffe ihr könnt mir helfen. Hab schon überall im Netz gesucht, aber nichts passendes gefunden.

Ist es mit Java möglich Dateiinfos (Datei -> Eigenschaften -> Dateiinfo) von normalen Windows-Dateien auszulesen? Wenn ja, wie funktioniert es.

Bis jetzt hab ich nur gefunden das es nicht möglich ist, aber hoffentlich weiss jemand noch etwas anderes.

Oder hat jamand eine andere Idee wie ich in einer Datei quasi unsichtbar eine Checksumme einfügen kann?

Gruss
Max
 
Speziell geht es um ein C- oder Header-File. Ich will darin eine Checksumme hinterlegen die nicht jeder gleich sehen soll.

Aber im Prinzip sollte das Format egal sein. Wenn du unter Windows rechtsklick auf ne Datei machst -> Eigenschaften -> Dateiinfo, dass müsste bei allen funktionieren.

Gruss
Max
 
Hallo,

was möchtest du dann mit der Dateiinfo? Da kann es doch jeder sehen. Die Dateiinfo gibt es auch nicht bei jeder Datei.

MFG

Sascha
 
Ja, klar kann sie jeder sehen -> der es weiss. Ist aber besser als die Checksumme direkt irgendwo in die Datei zu schreiben.

Vielleicht gibt es ja noch viel bessere Lösungen, bin für jeden Vorschlag/Tipp dankbar. Hab bis jetzt nur leider nichts besseres gefunden.

Gut, die Dateiinfo gibt es sicher nicht bei jeder Datei. Aber bei C-/Header-Files gibt es sie und das ist ja für mich das entscheidende.

Gruss
Max
 
Über die Checksumme kann ich sehen ob sich das File verändert hat. Ich generiere automatisch Files und muss rausfinden, wenn ich diese überschreibe, ob sie per Hand abgeändert wurden. Wenn ja, muss ich drauf reagieren -> sonst werden sie einfach überschrieben.

Gruss
Max
 
Hi MadMax!

Warum muss es eine Checksumme sein?

Wie wäre es mit diesem Beispiel? Bei der Zeit kannst du doch auch feststellen, ob der Inhalt der Datei was geändert wurde!

Code:
public static void main(String[] args) {
	File file = new File( "Beispieldatei.cpp" );
        Date date = new Date( file.lastModified() );
        String datum = getDateFormat(date);
        String zeit = getTimeFormat(date);

        System.out.println("Datum" + datum);
        System.out.println("Zeit" + zeit);
}

private String getDateFormat(Date date) {
	SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy", Locale.GERMANY);
	return format.format(date);
}

private String getTimeFormat(Date time) {
	SimpleDateFormat format = new SimpleDateFormat("HH.mm.ss",Locale.GERMANY);
	return format.format(time);
}

Gruß
Sebastian29
 
Du hast sicher recht, ich könnte es auch über einen viel leichteren Zeitstempel lösen. Aber ich will ja nicht prüfen ob das File geändert wurde, sondern ob der Inhalt noch der selbe ist -> was damit fast sichergestellt werden kann. Ich hab es mir nicht ausgesucht, wird so gefordert.

Wie gesagt, die Checksumme ist nicht das Problem. Der Mechanismus funktioniert sehr gut. Auch mit einem Zeitstempel würde sich an meinem eigentlichen Problem nichts ändern, weil ich diese auch verstecken müsste. Wie kann ich das machen?

Gruss
Max
 
Zuletzt bearbeitet:
Wie verstecken? Das Erstellungs und Änderungsdatum einer Datei wird doch vom System mitprotokolliert. Lässt sich zwar manipulieren aber gibt schonmal nen schnelleren Anhaltspunkt als ne Checksumme. Je nach größe der Datei dauert die Berechnung dafür ja doch ne Weile. Kannst du die Checksumme nicht in einer Datenbank oder extra-Datei hinterlegen? z.B. einer Datei die du auf versteckt stellst?
 

Neue Beiträge

Zurück