如何在Flutter中读取和写入文本文件

Sur*_*gch 3 text-files dart flutter

如何从文件中读取文本并将文本写入文件?

我一直在学习如何在文件中读取和写入文本。我发现了另一个有关读取资产的问题,但这并不相同。我将从我从文档中学到的内容添加到下面的答案中。

Sur*_*gch 9

设定

pubspec.yaml中添加以下插件:

dependencies:
  path_provider: ^0.4.1
Run Code Online (Sandbox Code Playgroud)

将版本号更新为当前版本。

并将其导入您的代码中。

import 'package:path_provider/path_provider.dart';
Run Code Online (Sandbox Code Playgroud)

您还必须导入dart:io才能使用File该类。

import 'dart:io';
Run Code Online (Sandbox Code Playgroud)

写入文本文件

_write(String text) async {
  final directory = await getApplicationDocumentsDirectory();
  final file = File('${directory.path}/my_file.txt');
  await file.writeAsString(text);
}
Run Code Online (Sandbox Code Playgroud)

从文本文件读取

Future<String> _read() async {
  String text;
  try {
    final directory = await getApplicationDocumentsDirectory();
    final file = File('${directory.path}/my_file.txt');
    text = await file.readAsString();
  } catch (e) {
    print("Couldn't read file");
  }
  return text;
}
Run Code Online (Sandbox Code Playgroud)

笔记

  • 您也可以使用来获取路径字符串,join(directory.path, 'my_file.txt')但是需要导入'package:path/path.dart'
  • 文献资料

  • @Heyran.rs 你需要导入 `dart:io`。在 Android Studio 中,您可以将光标放在“文件”上,然后在 Mac 中按 Option+Return 或在 Linux/Windows 中按 Alt+Enter 以从菜单自动添加它。 (2认同)

Ivá*_*oed 5

作为@Suragch 答案的附加信息,如果您想找到您创建的文件,您可以按照图像所示进行操作:

在此输入图像描述

然后在该数据文件夹中,再次转到名为 data 的文件夹并搜索您的包,然后转到:

在此输入图像描述

如果您碰巧创建了新文件,为了能够看到它们,只需右键单击并单击Synchronize

在此输入图像描述