📅  最后修改于: 2023-12-03 15:07:39.321000             🧑  作者: Mango
在 Flutter 中写入和读取文件是常见的任务之一。在本文中,我们将介绍如何在 Flutter 中使用 Dart 编程语言完成这些操作。
要写入文件,在 Flutter 中可以使用 dart:io
包中的 File
类。
首先,导入 dart:io
包:
import 'dart:io';
然后,使用 File
类创建一个文件对象:
File file = File('/path/to/file');
接下来,可以使用 writeAsString
方法向文件中写入文本:
file.writeAsString('Hello, World!');
如果要写入较大的数据,可以使用 openWrite
方法进行逐步写入:
var sink = file.openWrite();
sink.write('Hello, ');
sink.write('World!');
await sink.flush();
await sink.close();
在上面的示例中, openWrite
方法返回一个 IOSink
对象,可用于逐步写入数据。对 IOSink
对象调用 write
方法会将数据写入缓冲区中。要将缓冲区中的数据写入文件,必须调用 flush
方法,然后调用 close
方法关闭文件。
要读取文件,在 Flutter 中同样可以使用 dart:io
包中的 File
类。
首先,也是创建一个文件对象:
File file = File('/path/to/file');
接下来,可以使用 readAsString
方法读取文件中的文本:
String contents = await file.readAsString();
使用 openRead
方法可以逐步读取文件:
var stream = file.openRead();
stream.transform(utf8.decoder).listen((contents) {
print('Contents: $contents');
}, onDone: () {
print('File is now closed.');
}, onError: (e) {
print('Error: $e');
});
在上面的示例中, openRead
方法返回一个 Stream
对象,可用于逐步读取文件。使用 transform
方法将缓冲区中的字节数据解码为字符串。调用 listen
方法并指定回调可以在读取数据时执行自定义操作。当读取完成或发生错误时,函数将退出。
在 Flutter 中写入和读取文件的操作相对简单,可使用 dart:io
包中的 File
类实现。写入文件时可以使用 writeAsString
方法或逐步写入使用 openWrite
方法,读取文件时可以使用 readAsString
方法或逐步读取使用 openRead
方法。