3

我正在尝试读取共享项目中的文件。

        var currentPath = Environment.CurrentDirectory;
        var filename = Path.Combine(currentPath, "File.txt");
        var content = File.ReadAllText(filename);
        return content;

如果我在 iOS 中启动我的应用程序,这工作正常,但在 Android 中我得到 FileNotFound 异常。

4

1 回答 1

0

文件系统结构和底层 API 因平台而异。Environment.CurrentDirectory在 iOS 上存在,但在 Android 和 UWP 上都不存在,因此它将具有 null 值,因此将无法找到该文件。

由于平台之间的文件系统如此不同,因此建议您将访问代码的环境级别文件抽象到平台特定项目而不是共享项目 - 尽管您可以使其与编译器指令一起使用。

#if __ANDROID__
var currentPath = Environment.DataDirectory;
#endif

或者,您可以尝试从方法中获取当前目录Directory.GetCurrentDirectory();(在System.IO命名空间中)

于 2017-03-01T10:58:37.743 回答