2016-08-09 13 views
-2

Wir stoßen auf Fehler, weil wir eine schreibgeschützte Datei aktualisieren. Derzeit habe ich eine Methode, die eine Datei löscht. Diese Methode hat einen Parameter DataHandler, der ein Feld enthält, das einen Eingabestream enthält. Möchten Sie nach einigen Vorschlägen fragen, wenn es eine Möglichkeit gibt zu bestimmen, ob dataHandler.getInputStream nur bereit ist. Schreiben Sie den Stream in einer Datei auf der Festplatte ist keine Option entwederJava: Gibt es eine Möglichkeit zu wissen, ob ein InputStream eine Readonly-Datei ist

+0

Ich verstehe nicht. Sie haben eine Methode, die eine Datei löscht, während die Datei geöffnet ist (hat einen Eingabestream)? Sie erhalten Fehler, die Ihnen mitteilen, dass die Datei schreibgeschützt ist und Sie wissen möchten, ob die Datei schreibgeschützt ist? – EJP

+0

Ich habe vor ein paar Tagen fast die gleiche Frage gesehen. Ist das eine Art Auftrag? Oder postest du die gleiche Frage noch einmal? -- Du warst es. Sie haben bereits eine Antwort auf diese Frage. –

Antwort

2

Ihre Frage ergibt eigentlich keinen Sinn. Ein InputStream ist genau das - eine Eingabe - etwas, das Sie gelesen haben. Sie können keinen InputStream schreiben oder löschen.

Wenn Sie meinen, dass Sie versuchen, die Datei zu löschen, die die Quelle von InputStream ist, dann müssen Sie einen Verweis auf die File-Objektinstanz haben, um sie zu löschen, damit Sie die Schreibfähigkeit mit den Dateien überprüfen können canWrite() -Methode.

Dies ist jedoch wahrscheinlich keine narrensichere Möglichkeit, eine Datei ohne Ausnahme zu löschen - Sie müssten auch SecurityException abfangen.

Außerdem sollten Sie das Ergebnis von delete() überprüfen, um festzustellen, ob die Datei tatsächlich gelöscht wurde.

Verwandte Themen