readBySink method
以流的方式读取文件
Implementation
Future<String> readBySink(File file, FileMode? fileMode) async {
String content = "";
//检查文件是否存在 existsSync() 同步检查文件是否存在
final fileExists = await file.exists();
///如果文件不存在,创建文件
if (!fileExists) {
return content;
}
final StringBuffer buffer = StringBuffer();
final Stream<List<int>> inputStream = file.openRead();
inputStream.transform(utf8.decoder).transform(const LineSplitter()).listen((data) {
buffer.write(data);
}, onDone: () {
content = buffer.toString();
logger.d(content);
}, onError: (e) {
content = "";
logger.e(tag: TAG, e);
});
return content;
}