Meiner Meinung nach ist diese Funktion nur mit einem String-Parameter sinnvoll. Was macht sie?
- Es wird ein Dateiobjekt erstellt.
- Prüft, ob sie erstellt werden kann.
- Überprüft, ob es sich um eine Datei handelt
- Gibt die Länge
Wenn Sie eine Datei übergeben haben, wird der erste Punkt nicht benötigt, die nächsten beiden sollten wahrscheinlich angenommen werden, und die Länge ist eine Dateimitgliedsfunktion. Wenn Sie ihr eine Datei übergeben, wird diese Funktion zu trivial, um sie zu schreiben :)
(Außerdem finde ich es seltsam, wenn eine Funktion, die einen Long-Wert zurückgibt, null zurückgibt)
Wenn Sie bereits ein Dateiobjekt haben, verwenden Sie:
length = file.isFile() ? file.length() : -1;
Wenn Ihr Code mit Dateien statt mit Dateinamen arbeitet, können Sie sich einige Datei-Öffnungen sparen, wenn Sie die Dateizeiger wiederverwenden. In diesem Fall könnte es Sie dazu veranlassen, sie statt des Dateinamenansatzes zu verwenden.