Doppelte Dateien finden

Status
Nicht offen für weitere Antworten.
E

EdvanSchleck

Gast
Hallo erst mal,
Ich muss ein Programm schreiben welches doppelte Dateien aufspürt, anzeigt und nach einer Pop-Up-Meldung auch eine Datei davon löscht. Es wäre außerdem sehr hilfreich wenn es eine Datei anlegen würde mit einer Liste der doppelten Dateien. Da ich aber noch nicht soviel Ahnung von Java habe hoffe ich dass jemand mir unter die Arme greifen kann und mir wenigstens teilweise bei einem Lösungsansatz behilflich sein kann oder mir erklärt wie ich vorzugehen habe.

Im Vorraus schon mal Danke.
 
E

EdvanSchleck

Gast
Das ganze soll in Java programmiert werden da es sein kann dass das Programm plattformübergreifend eingesetzt wird.
 
D

Destiny1985

Gast
Hast denn schon selber was gecodet ? Wenn ja poste das mal un stell konkretere Fragen...
 
E

EdvanSchleck

Gast
Das Problem ist dass ich gar nicht weiß mit was ich anfangen soll. Ich hab von Java-Programmierung noch net soviel Ahnung, ich kann bis jetzt erst Schleifen oder Berechnungen coden. Viel mehr hab ich noch net drauf.
Es würde mir schon helfen wenn mir jemand schreiben würde wie ich vorzugehen hab. Damit meine ich die einzelnen Schritte. Den Code kann ich mir dann in irgendeinen Tutorial raussuchen.
 

thE_29

Top Contributor
Du könntest alle Dateien via System.out.println("DATEI::");

ausgeben lassen

dann setzt du den System.setOut(Printstream) auf die Datei um, die du als Ausgabe haben willst (somit wäre das gegessen).


Dann brauchst du eine rekursive Funktion die alle Ordner durchläuft (was unter Java Stunden dauern kann.... besser wäre C/C++) und dann jede Datei mit jeder Datei vergleicht die er bereits gefunden hat (das dauert....).

Ich würde 1mal durchlaufen ohne vergleiche und alle Dateien (mit Pfad) in einer ArrayList speichern!

Dann mußt du den hinteren Teil nehmen (substring(string.lastIndexOf(File.separator)) und das dann vergleichen!

Findet man 2gleiche schwups wups hast du es!

Unterscheiden muß man dann noch wegen Groß/Kleinschreibung die ja in Windows egal ist (unter Linux nicht) und sowas ist halt net gleich

"datei1.txt".equals("Datei1.txt") == false

obwohl das für windows die ein und dieselbe Datei sein kann!!


Nachtrag: das weitere Problem ist jenes, das du die HDDs mit Java net rausfinden kannst!

Du könntest dies über Parameter lösen oder hardcoded immer auf C:\\ gehen was in Linux ja schon mal net geht!
 
E

EdvanSchleck

Gast
Vielen Dank erstmal. Mit deiner Antwort hab ich jetzt wenigstens mal einen Ansatz. Aber mit meinen Kenntnissen graut es mir jetzt schon bei der Umsetzung;)
 

foobar

Top Contributor
Was sind denn doppelte Dateien? Selbe Größe, Name, Rechte, Erstellungs-Datum?
Nach welchen Kriterien sollen die Dateien verglichen werden?
 
E

EdvanSchleck

Gast
Die Datei soll nach ihrem Dateinamen verglichen werden mit allen Angaben wie Pfad, Größe, letztes Bearbeitungsdatum usw.
Vorerst programmiere ich es mal nur für Windows, dann fällt schon mal das "Datei1=datei1=false"-Problem weg.
 

thE_29

Top Contributor
[edit by stevg]
sry thE_29, aber wir hatten uns doch drauf geeinigt keine Hausaufgaben zu lösen.
[edit]
 
E

EdvanSchleck

Gast
Das sind auch keine Hausaufgaben sondern ich soll das für den Betrieb in dem ich arbeite programmieren.
Ich bin halt erst im 1.Lehrjahr und sie haben gemeint ich soll mal versuchen ob ichs hinbekomme.
 

thE_29

Top Contributor
@stevi: ich hatte das schon und hab nur 1e if Bedingung reingetan (natürlich war es in einem anderen Projekt, aber egal)

Mir isses egal :D

War 2 min. copy past und Kommentare ;)
 
S

stev.glasow

Gast
thE_29 hat gesagt.:
@stevi: ich hatte das schon und hab nur 1e if Bedingung reingetan (natürlich war es in einem anderen Projekt, aber egal)

Mir isses egal :D

War 2 min. copy past und Kommentare ;)
Gut dann ist das löschen ja nicht so schlim, hatte mir schon Gedanken gemacht.


EdvanSchleck hat gesagt.:
Das sind auch keine Hausaufgaben sondern ich soll das für den Betrieb in dem ich arbeite programmieren.
Ich bin halt erst im 1.Lehrjahr und sie haben gemeint ich soll mal versuchen ob ichs hinbekomme.
Und? Sry, aber wenn du es lernen willst dann musst du da durch und wenn du's nicht lernen willst dann brauchst du den Code auch nicht. Bei Hausaufgaben ist es teilweise ja sogar so, dass die Leute eigentlich gar nix mit Programmieren zu tun haben möchten, aber dann wäre es unfair gegenüber den Mitschülern fertigen Code zu posten.
Also, schapp dir n Buch und stelle konkrete Fragen.
 
D

Destiny1985

Gast
EdvanSchleck hat gesagt.:
Das sind auch keine Hausaufgaben sondern ich soll das für den Betrieb in dem ich arbeite programmieren.
Ich bin halt erst im 1.Lehrjahr und sie haben gemeint ich soll mal versuchen ob ichs hinbekomme.

Bin in derselben Situation...1. Lehrjahr, lerne Java...und kein Mensch kann das hier ;)

Meine Empfehlung: Erstmal 'nen Buch zum lernen kaufen (Supergeil für Anfänger: www.grundkurs-java.de ), dann hier im Forum registrieren, mit dem Buch lernen und bei Problemen hier ins Forum kommen. So komme ich super voran. Beschäftige mich jetzt intensiv so einen Monat mit Java und hab heute zB das gecodet:

http://www.java-forum.org/de/viewtopic.php?t=13649

Hab wie gesagt keinen hier der das kann, alles selbst gelernt...klappt ganz gut !

joa...

mfg
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben