dart Flutter桌面窗口获取应用程序路径

7cjasjjr  于 12个月前  发布在  Flutter
关注(0)|答案(4)|浏览(212)

我正在为Windows创建一个Flutter Desktop应用程序,我试图检索exe所在的应用程序目录。我试图使用path_provider,但只能获得Documents目录。任何帮助,我将不胜感激。

gk7wooem

gk7wooem1#

使用**Platform.resolvedExecutable**(dart:io的)。
我在Flutter/Windows中测试过它,它工作正常。奇怪的是,Platform.executable返回null。我之所以这么说很奇怪,是因为它的类型是String不可空。这个意外的null值可能会导致崩溃或难以检测的错误(但最终Flutter桌面不在稳定通道中)。

amrnrhlw

amrnrhlw2#

String dir = Directory.current.path;
print(dir);

字符串
Directory.current.path(在dart:io包中)返回项目文件夹的当前工作目录(在开发时)或从发布版本运行时的可执行目录。

8gsdolmq

8gsdolmq3#

试用软件包:path_provider
1.在pubspec.yaml中设置此代码

dependencies:
  path_provider: ^1.6.27 # get last Version From https://pub.dev/packages/path_provider/install

字符串
1.代码

Directory tempDir = await getTemporaryDirectory();
String tempPath = tempDir.path; //C:\Users\USER_NAME\AppData\Local\Temp

Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path; //C:\Users\USER_NAME\Documents
//Warning: on debug mode this code get location project but in release mode will get your location app correctly
String dir = Directory.current.path; // PATH_APP

zfciruhq

zfciruhq4#

我和你有同样的问题,并以这种方式解决:

import 'package:path/path.dart';
 final directory = dirname(Platform.script.toFilePath());

字符串
它将给予您的“运行”文件的位置

相关问题