So zeigen Sie an, welche Instanz den Dateideskriptor einer bestimmten Datei in Java hatJava

Java-Forum
Guest
 So zeigen Sie an, welche Instanz den Dateideskriptor einer bestimmten Datei in Java hat

Post by Guest »

Hintergrund
  • Ich schreibe eine Webanwendung unter Windows. Diese Anwendung besteht aus zwei oder mehr WARs.
  • Diese WARs erstellen temporäre Dateien bei der Verarbeitung.
Problem
  • Beim Programmtest habe ich festgestellt, dass eine temporäre Datei immer noch vorhanden ist und nicht gelöscht wird. Ich habe versucht, diese Datei aus dem Explorer zu löschen, aber ich habe die Meldung erhalten, dass die Aktion nicht abgeschlossen werden kann, da die Datei in „java.exe“ geöffnet ist..
  • Das ist offensichtlich dass einer der WARs die Datei immer noch öffnet (weil in der Meldung java.exe steht). Aber es gibt zwei oder mehr WARs auf Tomcat, daher konnte ich nicht herausfinden, welche Anwendung dieses Problem verursacht hat.
  • Außerdem sind diese Anwendungen so komplex, dass es schwierig ist, herauszufinden, welche Klasse liest /schreibt (

    Code: Select all

    FileInputStream
    /

    Code: Select all

    FileOutputStream
    , zum Beispiel) diese Datei.
Frage
Beginnen Sie mit dem Pfad eines bestimmten Datei, gibt es eine Möglichkeit herauszufinden, welche Instanz einer Klasse den Dateideskriptor hat(

Code: Select all

FileInputStream
/

Code: Select all

FileOutputStream
der Datei?
Eine Methode, die ohne Herunterfahren von Tomcat anwendbar ist (wie jcmd), ist vorzuziehen, da andere WARs auf demselben Tomcat getestet werden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post