gpt4 book ai didi

dart - 如何修复 Dart 中未定义的 File() 类及其方法?

转载 作者:行者123 更新时间:2023-12-03 02:45:53 24 4
gpt4 key购买 nike

我想将文件保存在 Android/iOS 的本地存储中。我按照 Flutter cookbook 来保存文件,但没有用。到处都有使用File类的例子,但是我用的时候是undefined。我正在使用 Dart 2.2.0 和 Flutter 1.2.1

我尝试了一些网站的示例代码片段。没有任何效果。文件类、readAsStringwriteAsString 在我的 Dart 文件中未定义。

这是代码。在 DartPad 中检查过。我哪里错了?

//packages
import 'dart:io';
import 'dart:async';
import 'package:path_provider/path_provider.dart';

//start
class File {
/// Directory Path
/// Local Directory Path
Future<String> get _localPath async {
final directory = await getApplicationDocumentsDirectory();
// For your reference print the AppDoc directory
print(directory.path);
return directory.path;
}
/// Reference for file Location
Future<File> get _localFile async {
final path = await _localPath;
final address = '$path/data.txt';
return File(address);
}
/// Presenting different Data as 1 String
String convertingtoString(String title, String author, String content) {
return '$title\n$author\n\n$content';
}
/// Write to file
/// Writing as String
Future<File> writeContent(String matter) async {
/// Get matter converted to string as matter
final file = await _localFile;
// Write the file
return file.writeAsString(matter);
}
/// Read from file
Future<String> readcontent() async {
try {
final file = await _localFile;
// Read the file
String contents = await file.readAsString();
return contents;
} catch (e) {
// If there is an error reading, return a default String
return 'Error, Couldn\'t read file';
}
}
}

这是我的 android flutter 项目的代码。我在 VScode 中遇到了与 DartPad 相同的错误

最佳答案

您已经创建了自己的名为 File 的类,因此从 dart:io 中隐藏了 File 类。将您的自定义类命名为其他名称,或者执行以下操作:

将 'dart:io' 导入为 io;

并在您打算使用dart:ioFile 类的地方使用io.File。 (我建议重命名您的自定义类以避免混淆。)


原始答案

因为您有 import 'dart:io';,所以您应该可以使用 File 类。

如果你只是在 DartPad 上尝试这个,那么它(除其他外)不会在那里工作,因为 dart:io is meant to be used with a Dart VM . dart:io 无法在具有沙盒环境且通常会阻止文件系统访问的浏览器中运行:

Important: Browser-based applications can't use this library. Only servers, command-line scripts, and Flutter mobile apps can import and use dart:io.

关于dart - 如何修复 Dart 中未定义的 File() 类及其方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55679918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com