Flutter-如何从资产读取500MB文本文件(无JSON)

时间:2019-01-12 14:10:31

标签: dart flutter

我的资产文件夹中有一个500 MB的文本文件。我想读取此文件的内容(如果可能,请逐行读取)。
当我使用“ loadString()”时,仅打印两行文件(4000行中的5行)。我如何读取文件的全部内容? 这是我的代码:

import 'dart:async' show Future;
import 'package:flutter/material.dart';
import 'package:flutter/services.dart' show rootBundle;

class ReadText extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    Future<void> loadAsset() async {
      var myFileContent = 
                      rootBundle.loadString('res/assets/raw/mydata.csv');

      //Printing
      return myFileContent.then(print);
    }

    loadAsset();

    return Scaffold(
      backgroundColor: Colors.orange,
      appBar: AppBar(
        title: Text("Read File"),
      ),
      body: Center(
        child: new Text("Empty page"),
      ),
    );
  }
}

1 个答案:

答案 0 :(得分:1)

您试图使用print()函数在控制台中打印大字符串。这是不可能的,抖动限制了在控制台中打印大数值的限制

您可以尝试

debugPrint() 

功能,但这也不保证您的整个字符串(文件)是否将在控制台中打印。 我建议您将其打印在某些“文本”小部件上以进行查看。 希望对您有帮助