Как «прочитать» файл из программы Dart VM? - PullRequest
2 голосов
/ 19 января 2012

Как «прочитать» файл из программы Dart?

http://api.dartlang.org/index.html

Dart будет работать на стороне клиента, и поэтому следует разрешить прием файлов в качестве входных данных.

Ответы [ 2 ]

4 голосов
/ 19 января 2012

Вы можете найти использование файлов в среде тестирования Dart: status_file_parser.dart (поиск по «файлу»).

Короче:

  File file = new File(path);
  if (!file.existsSync()) <handle missing file>;
  InputStream file_stream = file.openInputStream();
  StringInputStream lines = new StringInputStream(file_stream);

  lines.lineHandler = () {
    String line;
    while ((line = lines.readLine()) != null) {
    ...
  };
  lines.closeHandler = () {
    ...
  };

Обратите внимание, что API еще не завершен и может измениться в любой момент.

Редактировать: API изменился.См. Введение в новый IO

0 голосов
/ 04 февраля 2013

Ваш вопрос подразумевает, что вы хотите сделать это на стороне клиента, то есть в браузере. Библиотека dart:io работает только в автономной виртуальной машине в командной строке.

Если вы хотите прочитать файл из виртуальной машины, теперь есть более простой способ:

import 'dart:io';

main() {
  var filename = new Options().script;
  var file = new File(filename);

  if (!file.existsSync()) {
    print("File $filename does not exist");
    return;
  }

  var contents = file.readAsStringSync();

  print(contents);
}

Если вы не хотите блокировать, пока читается весь файл, вы можете использовать асинхронную версию readAsString, которая возвращает Future:

  file.readAsString().then((contents) {
    print(contents);
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...