1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Testen ob Datei bereits verwendet wird?

  • owaye
  • 6. April 2008 um 11:50
  • Unerledigt
  • owaye
    6
    owaye
    Mitglied
    Reaktionen
    3
    Punkte
    313
    Beiträge
    46
    • 6. April 2008 um 11:50
    • #1

    Hi alle zusammen :winking_face:

    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:

  • owaye
    6
    owaye
    Mitglied
    Reaktionen
    3
    Punkte
    313
    Beiträge
    46
    • 6. April 2008 um 14:08
    • #2

    edit: zu früh gefreut... bringt auch nix... friert trotzdem ein.

  • Ringding
    11
    Ringding
    Mitglied
    Reaktionen
    12
    Punkte
    1.237
    Beiträge
    244
    • 6. April 2008 um 15:16
    • #3

    Hätte mich auch gewundert, dass das einfach hängenbleibt…

  • Informatiker08
    9
    Informatiker08
    Mitglied
    Reaktionen
    2
    Punkte
    807
    Beiträge
    156
    • 6. April 2008 um 15:42
    • #4

    normalerweise versucht java auf die Datei zuzugreifen, falls dies nicht möglich ist dann gibts nen fehlerwert zurück oder wirft ne exception oder was auch immer;)

  • java-girl
    14
    java-girl
    Mitglied
    Reaktionen
    7
    Punkte
    2.037
    Beiträge
    357
    • 6. April 2008 um 15:45
    • #5

    Wie greifst du auf die Datei zu?

    There's no better place than 127.0.0.1!

  • RT83
    5
    RT83
    Mitglied
    Reaktionen
    3
    Punkte
    258
    Beiträge
    40
    • 6. April 2008 um 16:12
    • #6

    Ich würds mit der Methode canWrite() der Klasse File versuchen. Wenn ein File gerade verwendet wird sollte ja darauf ein Lock sein und die Methode false zurückliefern.

    Ich habs nicht ausprobiert aber ich könnte mir vorstellen, dass es damit funktioniert.

    http://rthullner.blogspot.com/

  • owaye
    6
    owaye
    Mitglied
    Reaktionen
    3
    Punkte
    313
    Beiträge
    46
    • 6. April 2008 um 19:21
    • #7

    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

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

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

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung