2012-01-18 67 views

回答

4

您可以在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已更改。請參閱Introduction to new IO

0

您的問題意味着您想從客戶端(即瀏覽器)執行此操作。 dart:io庫只能在命令行上的獨立VM中運行。

如果你想從虛擬機中讀取的文件,現在有一個更簡單的方法:

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它返回一個未來:

file.readAsString().then((contents) { 
    print(contents); 
    });