Java File.exists () versus File.isFile ()

Ich kann mir keinen realistischen Anwendungsfall für die Methode vorstellenjava.io.File.exists() oder sein Äquivalent in Java 7java.nio.file.Files.exists(Path). Es scheint, dassisFile() oderisDirectory() wäre in allen Fällen vorzuziehen (odercanRead(), canWrite(), usw.).

Zum Beispiel inWie überprüfe ich, ob eine Datei in Java vorhanden ist?, die akzeptierte Antwort scheint albern, wie die zweite Antwort darauf hinweist.

Kann jemand ein Beispiel geben, wo es nützlich ist zu wissen, dass es etwas gibt,ohne wissen, ob das ding eine datei oder ein verzeichnis ist?

EDIT: Ich verstehe wasFile.exists() tut. Meine Frage ist,wann Würde diese Funktionalität jemals jemandem helfen? Ich suche nach einem Beispiel wie "UseFile.exists() wenn _ _ _ _ _ _, weil keinerFile.isFile() NochFile.isDirectory() fügen Sie in diesem Fall einen beliebigen Wert hinzu. "

Im Nachhinein denke ich, dass meine Verwirrung hier in Bezug auf zwei scheinbar widersprüchliche Aussagen im JavaDoc derFile Klasse. Der erste Satz definiert die Klasse als,

Eine abstrakte Darstellung von Datei- und Verzeichnispfadnamen.

Das klingt nach einer klaren Zweiteilung; aber weiter drin kontert der Doc damit,

Instanzen dieser Klasse können ein tatsächliches Dateisystemobjekt wie eine Datei oder ein Verzeichnis bezeichnen oder auch nicht.

Ich denke, ein Beispiel für ein drittes Dateisystemobjekt hätte in der Dokumentation immens geholfen. dieser Kategorie scheint jedoch auch nur ein Name zu fehlen, was dazu führt, dass der JavaDoc für dieFiles Klasse: eine Sammlung statischer Methoden,

die Dateien, Verzeichnisse oder andere Dateitypen verarbeiten.

In der akzeptierten Antwort bezieht sich @koral auf diese anderen Typen als "spezielle Dateien". Das scheint mir passend. Sie sind so besonders, ich wusste nicht, dass sie existieren.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage