Dart:io ошибка при чтени файла
Изучаю библиотеку dart:io. Проблема при выполнении примера кода из документации `
import 'dart:io';
void main() async {
var config = File('D:\\wordsone.txt');
var stringContents = await config.readAsString();
print('В файле ${stringContents.length} значений.');
} `
Error when reading 'dart_file.dart': No such file or directory.
Пробовал в собственном коде и с массой других примеров. Всегда такая ошибка. Файл не читается даже из Lib проекта. Уважаемые участники сообщества, прошу помочь решить проблему. Спасибо.
Ответы (1 шт):
UPD: Как заметил @CrazyElf, у вас проблема не в коде, а в его запуске. Выполняя команду dart dart_file.dart, вы видимо обращаетесь к несуществующему файлу. Используя команду dir (ls -la для unix) можно посмотреть список всех файлов в каталоге где запускается команда. Также рекомендую запускать программы на dart таким образом: dart run dart_file.dart
Ошибка "no such file or directory" возникает, потому что Dart, запущенный из консоли, ищет файл wordsone.txt в рабочей директории консоли, а не в директории, где находится ваш Dart-скрипт. Когда вы запускаете код из IDE, рабочая директория обычно устанавливается в директорию проекта, возможно поэтому файл находится.
Этот код даст вам больше информации, также тут есть обработка ошибки:
import 'dart:io';
void main() async {
print('Current working directory: ${Directory.current.path}');
var config = File('D:\\wordsone.txt'); // Абсолютный путь
if (await config.exists()) {
var stringContents = await config.readAsString();
print('В файле ${stringContents.length} значений.');
} else {
print('Файл не найден.');
}
}
Но рекомендую вам посмотреть в сторону библиотеки path.