Java Datei soll sich selbst löschen

m.s

Mitglied
Hallo ich habe mir ein Programm gemacht wo man ein Passwort eingeben soll und wenn man es 3 mal falsch eintippt soll sich die .jar Datei selbst löschen. Hat da jemand eine Idee? Ich habe schon Ansätze:

Java:
				File f = new File("C:/Test/Passwort.jar");
				
				if(f.exists()){
				
					f.delete();

Mfg 🙂

PS.: (Hab natürlich auch schon importiert) & habe auch keine Fehlermeldungen
 
Deine Idee finde ich, sorry, doof:noe:

Denn es ist ja klar, das ein simples Umbenennen der JAR das aushebelt.

Überhaupt kannst du ja wohl nichts dagegen machen, das der User mehrere Kopien anlegt, oder?

Und eine JAR löschen, nur weil der User sich vertippt hat, geht ja wohl gar nicht.

Und ob es überhaupt immer möglich ist, einer laufende Applikation die JAR unterm Popo wegzulöschen, weiß ich auch nicht, Könnte nämlich sehr von der Umgebung/Betriebssystem abhängen.
 
Haha ja sorry, es ist ein Fun-Programm 😀
Ich selbst bewahre dort keine Staatsgeheimnisse auf und habe es auch nicht vor.
Ich lerne nur gerade programmieren und deshalb schreibe ich einige Programme, um mich mit Java vertrauter zu machen.
 
Wenn es tatsächlich daran liegt, was ARadauer gesagt hat, dann könntest du deiner Datei stattdessen ein
Java:
f.deleteOnExit()
verpassen und anschließend dein Proggi beenden. Sobald die VM wech ist, würde das File gelöscht werden.
 
Funktioniert leider nicht.. ich habs jetzt so gemacht:

Java:
			if (Richtig == 0){
				JOptionPane.showMessageDialog(null, "Datei löscht sich nun selbst","FAIL",JOptionPane.INFORMATION_MESSAGE);
				File f = new File("C:/Test/Passwort.jar");
				
				f.deleteOnExit();

Hast du ne Idee worans liegt?
 
Zuletzt bearbeitet:
Moin,

Funktioniert leider nicht.. ich habs jetzt so gemacht:
...
Hast du ne Idee worans liegt?

FUNKTIONIERT NICHT ist (i. d. R.) keine Fehlerbeschreibung !!

Kommen ggf. Fehlermeldungen (Stacktrace) ?
Was ist mit den von ARadauer erwähnten Rückgabecodes?
Ist der Dateipfad richtig?
Evt. schon mal SO versucht?
Java:
new File("C:\Test\Passwort.jar"); // vlt. auch mit ZWEI Backslashes !

Gruß
Klaus
 
erstmal : unter windows wird das mit einem JAR so erstmal überhaupt nichts ... da unter windows die VM ein JAR das verwendet wird grundsätzlich sperrt

versucht man jetzt mit reflections den system-class-loader (als urlclassloader gecastet) zu closen crasht die VM mit nem ERROR und das file ist noch vorhanden

lösung (zumindest konnte ich damit erfolg verzeichnen) : ein einfaches class-file
ich weis nicht warum, aber wenn man ein class-file als deleteOnExit() kennzeichnet wird dies bei "normalen" stop der vm auch gelöscht


unter unix solltest du, abhängig vom FS, das file auch direkt während der runtime löschen können
 

Neue Themen


Zurück
Oben