我的资产文件夹中有一个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"),
),
);
}
}
答案 0 :(得分:1)
您试图使用print()函数在控制台中打印大字符串。这是不可能的,抖动限制了在控制台中打印大数值的限制
您可以尝试
debugPrint()
功能,但这也不保证您的整个字符串(文件)是否将在控制台中打印。 我建议您将其打印在某些“文本”小部件上以进行查看。 希望对您有帮助