flutter分块读取txt文件,文字乱码的问题

我有个需求是读取txt文件并且显示,那个txt文件是utf8的,我也进行了utf8的转换,但是还是出现了乱码

错误代码:

const int chunkSize = 1024;
var stream = File(filePath).openRead(0);

// 将文件流按设定的块大小拆分
await for (var chunk in stream.chunked(chunkSize)) {
	// 将 chunk 转换为字符串
    var chunkString = utf8.decode(chunk, allowMalformed: true);//主要是这里,我们将流变成urf8的字符串
    processChunk(chunkString);//将字符串变成listTile,细节不重要
}

但是并没有生效,文件出现了乱码

我们修改一下处理方式

final stream = File(filePath)
        .openRead(0)
        .transform(utf8Decoder)
        .transform(lineSplitter);
// 将文件流按设定的块大小拆分
await for (var line in stream) {
      processChunk(line);
}

这样就好了


flutter分块读取txt文件,文字乱码的问题
http://xuyuanhang.com//archives/flutterfen-kuai-du-qu-txtwen-jian-wen-zi-luan-ma-de-wen-ti
作者
许远航
发布于
2024年11月21日
许可协议