2016-12-23 7 views
3

Я делаю первые шаги в Дарте сегодня, и первое, на что я не уверен, как продолжить, - проверить, является ли файл, переданный в качестве аргумента к инструменту CLI, который я пишу, доступен для записи.Как проверить, является ли файл доступным для записи (CLI)

Итак, идея состоит в том, что у меня есть инструмент, который принимает каталог input и имя выходного файла. Он выполняет разбор некоторых файлов во входном каталоге, компилирует данные в значимую конфигурацию JSON и сохраняет их в файле output.

Однако, прежде чем что-либо делать, я хочу запустить проверку работоспособности, чтобы увидеть, что данный аргумент выходного файла может быть фактически использован как файл для записи.

Как я решил решить это, открыв файл Append в примерочных поймать блока:

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

Однако, мне не нравится это решение. Главным образом, он создает файл, если он еще не существует. Кроме того, я не понимаю, почему я должен писать что-либо в файл, когда я просто хочу знать, является ли он доступным для записи или нет.

Каков правильный способ сделать это в Дарте?

ответ

4

Вы можете использовать file.statSync().mode или file.statSync().modeString(). См. FileStat.