2015-01-02 3 views
1

파일을 열고 EOF에서 스트림이 닫히지 않고 계속 읽을 수있는 쉬운 방법이 있습니까? Unix 명령 tail -f과 같습니다.Dart에서 파일을 열고 따라 가려면 어떻게해야합니까 (tail -f와 같은)?

EOF까지만 읽는 것은 API 문서에 설명되어 있습니다. 그러나 더 많은 입력을 위해 스트림을 차단하거나 일시 중지하는 명확하고 간단한 방법을 볼 수 없습니다.

한 가지 해결책은 파일 크기가 변경된 것을 감지하면 파일을 반복하여 다시 열어 마지막으로 알려진 길이부터 계속 읽는 것입니다.

답변

1

Somethink이

import 'dart:io'; 

void main(List<String> args) { 
    var file = new File("test.txt"); 
    print(file.absolute); 
    var openFuture = file.open(mode: FileMode.READ); 
    openFuture.then((raf) => raf.length().then((len) => raf.setPosition(len) 
     .then((raf) => raf.readXxx... 
} 

처럼 당신은 또한 Directory.watch 변경에 대해 통지 한 후 다시 마지막으로 알려진 위치에서 읽을하는데 사용할 수 있습니다.

관련 문제