Testen ob Datei bereits verwendet wird?

NetzUnity und Informatik-forum wurden zusammengelegt. Eine entsprechende Ankündigung wird demnächst noch folgen. Für 2025 ist hier einiges geplant! Bei Fragen bitte per DM an Maximilian Rupp wenden.
  • Hi alle zusammen ;)

    Ich bin auf ein übles Problem gerade gestoßen beim Programmieren und wäre überglücklich wenn jemand mir helfen könnte.

    Also folgendes: hab ein kleines Programm geschrieben, mit dem kann ich eine Musikdatei umbenennen. Das geht auch ganz problemlos prinzipiell. Allerdings wenn ich die Datei gerade in einem Mediaplayer (sagen wir mal Winamp) abspiele funktioniert das Umbenennen nicht. Dummerweise friert dabei auch das gesamte JavaProgramm ein... und das ist das größte Problem.

    Gibt es nicht irgendeine Methode in Java, mit der man prüfen kann, ob eine Datei gerade verwendet wird und die dann true/false zurückliefert o.ä.?

    Alles was ich bisher gefunden habe über das Thema war
    1. wie man selber ein "lock" erstellen kann auf ein File (was mir aber nicht viel bringt, da ich es ja selber nicht locken will)
    2. dass es plattformabhängig ist, ob man die Datei trotzdem umbenennen kann (bei linux gehts offenbar).

    Also das Problem ist einfach... es friert einfach ein ohne Exception... gar nix kommt! ich hab keine Ahnung wie ich den Zustand (ob es verwendet wird oder nicht) vorher abfragen könnte :distur:

  • Danke erstmal für eure Antworten :)

    Ich wollte euch gerade ein kleines neues Programm schreiben, um euch das Problem zu zeigen - dann probiere ich es aus - und das Umbenennen der Datei funktioniert da ohne Probleme, ohne dass es einfriert. Wenn die Datei gerade abgespielt ist, macht das Programm einfach nix, oder ich kann es per if-else abfragen. man... ich hab da wohl irgendwas verbockt bei meinem Hauptprogramm.

    edit2: Waaaah, den Fehler gefunden... die Renaming Aktion steckt in einer Endlosschleife fest, lol ... den ganzen tag verschissen wegen einem minifehler, und ich such da ganz woanders bei filelock usw... xD

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!