使用文件系统 API
使用 TradingAIFileSystem 读写文件,需在 plugin.yaml 的 permissions.fileSystem 中声明路径。
声明权限
文件系统操作受权限控制,必须在 plugin.yaml 中声明可访问的路径:
yaml
permissions:
- fileSystem:
- '${workspace}/**' # 工作区所有文件
- '${extensionPath}/**' # 插件自身目录
读写文件
dart
// 读取
final content = await context.fs.readString('${workspace}/data.json');
// 写入
await context.fs.writeString('${workspace}/output.txt', 'Hello');
// 检查存在
final ok = await context.fs.exists('${workspace}/config.yaml');
// 列出目录
final files = await context.fs.list('${workspace}/logs');
下载文件
downloadFile 需在 permissions.network 中声明目标域名:
dart
final path = await context.fs.downloadFile(
'https://example.com/data.csv',
'${workspace}/downloads/data.csv'
);
路径变量
| 变量 | 说明 |
|---|---|
${workspace} | 当前工作区根目录 |
${extensionPath} | 插件安装目录 |
参考
相关 API:TradingAIFileSystem
示例:extensions/market_dashboard_plugin/lib/features/trade_journal.dart,交易日志的保存与加载,演示 readString、writeString、list 用法。