从文本文件中读取直到字符串最大长度
Posted
技术标签:
【中文标题】从文本文件中读取直到字符串最大长度【英文标题】:Reading from text files until String max length 【发布时间】: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() 读取无限大的字符串。
【参考方案1】:
也许你想要类似的东西:
var myFileStream = File('path/to/file').openRead();
var firstChars = myFileStream.take(1024);
这会将文件的内存部分限制为前 1024 个字符。
(我认为。:)
【讨论】:
感谢您的回答,我的意思是它可以读取的最大文件大小。前任。 readAsString() 函数只返回超过字符串大小之前的前 x 个字符。 不,字符串“直到内存不足”。以上是关于从文本文件中读取直到字符串最大长度的主要内容,如果未能解决你的问题,请参考以下文章
字符输入流读取文本文件ReaderFileReaderBufferedReader
是否有可能知道从文件中读取的长文本将在 C 中使用多少个字符?