在Universal App中关闭已打开的文件

时间:2015-11-26 11:52:59

标签: c# visual-studio-2015 win-universal-app

在我的应用中,我打开了一个文件。

List<MyModel> myModelList = new ArrayList<>();
for (Thing thing : things) {
    MyModel myModel = new MyModel(thing.getId());
    if (myModelList.contains(myModel)) {
        myModel = myModelList.get(myModelList.indexOf(myModel));
    } else {
        myModel.setName(thing.getName());
        myModelList.add(myModel);
    }
    myModel.setSomeQuantity(myModel.getSomeQuantity() + thing.getSomeQuantity());
}

我需要在一段时间后关闭文件。如何关闭此文件?

2 个答案:

答案 0 :(得分:3)

GetFileAsync无法打开文件。您只能处理文件,但仍然关闭。如果要打开文件,可以使用例如file.OpenAsync()。它打开文件并返回流。你应该在操作后处理流。 LaunchFileAsync打开文件,但它在内部处理,您无需担心。

答案 1 :(得分:3)

正如@pikciu所提到的,但是直接回答了您的问题,一旦您使用Launcher.LaunchFileAsync方法启动文件,您将无法强制关闭该文件,因为它将被处理通过它启动的其他应用程序。基本上,您可以通过该方法获得“即发即忘”的功能。