2016-12-23 4 views
3

Ich mache heute meine ersten Schritte in Dart, und das erste, was mir nicht sicher ist, ist, wie man eine Datei prüft, die als Argument übergeben wird zu einem CLI-Tool, das ich schreibe, ist beschreibbar.Wie teste ich, ob eine Datei beschreibbar ist (CLI)

Also die Idee ist, dass ich ein Werkzeug habe, das ein input Verzeichnis und einen Ausgabedateinamen akzeptiert. Es analysiert einige Dateien im Eingabeverzeichnis, kompiliert die Daten in eine sinnvolle JSON-Konfiguration und speichert sie in der Datei output.

Bevor ich jedoch etwas mache, möchte ich eine Plausibilitätsprüfung durchführen, um zu sehen, dass das angegebene Ausgabedateiargument tatsächlich als beschreibbare Datei verwendet werden kann.

Die Art, wie ich durch das Öffnen der Datei für Append in einem Try-Catch-Block ist dies zu lösen entschieden:

try { 
    new File(output).writeAsStringSync('', mode: FileMode.APPEND, flush: true); 
} on FileSystemException catch(e) { 
    // do something 
} 

Allerdings habe ich diese Lösung nicht mögen. Hauptsächlich, dass es eine Datei erstellt, wenn sie nicht bereits existiert. Ich sehe auch nicht, warum ich etwas in eine Datei schreiben soll, wenn ich nur wissen will, ob es beschreibbar ist oder nicht.

Was ist der richtige Weg, um es in Dart zu tun?

Antwort

4

Sie können file.statSync().mode oder file.statSync().modeString() verwenden. Siehe FileStat.

Verwandte Themen