【发布时间】:2021-01-02 20:55:47
【问题描述】:
我是 Dart 编码的新手,所以请多多包涵。我从 Flutter API 中搜索了如何使用 readAsString() 函数读取文件。它表示它将读取文件的全部内容并将其作为字符串返回。但是,是否存在某种只能读取的字符串最大大小?我无法在线找到 Dart 中字符串的最大大小。谢谢。
下面是代码,如果你想看的话:
import 'dart:async';
import 'dart:io';
import 'package:path_provider/path_provider.dart';
class Storage {
Future<String> get localPath async {
final directory = await getApplicationDocumentsDirectory();
return directory.path;
}
Future<File> get localFile async {
final path = await localPath;
return File('$path/data.txt');
}
Future<List<String>> read() async {
try {
final file = await localFile;
String contents = await file.readAsString(); //the important part
return contents.split(";");
} catch (exception) {
return null;
}
}
void write(List data) async {
final file = await localFile;
String toWrite = "";
for (int i = 0; i < data.length; i++) {
toWrite += data.elementAt(i) + ";";
}
file.writeAsString(toWrite);
}
}
【问题讨论】:
-
使用
String contents = await file.readAsString();,你想限制contents的长度吗?如果是,你想一开始就分开吗? -
就像下面的评论一样,我想知道它是否能够使用 readAsString() 读取无限大的字符串。