none
如何取得项目中 文件的物理路径 RRS feed

  • 问题

  • 我现在需要往项目中添加一个文件(存数据用的,在程序中我需要通过物理路径来打开这个文件)

    我不知道这个物理路径该怎么写

    如果程序发布,我自己添加的这个文件会一起打包吗

    打包之后他的物理路径又是什么呢

    2012年5月17日 2:11

答案

全部回复

  • 每个应用都有一个appx的文件夹,用来存储本地数据的。

    public : static property Windows::Storage::ApplicationData^ Current { get; }
        Windows::Storage::ApplicationData 的成员
    
    摘要:
    Provides access to the app data store associated with the app's app package.
    
    返回值:
    The app data store.
    

    2012年5月17日 5:09
  • 您好!

    你添加的文件会跟你的应用一起打包部署。

    请参考以下样例代码。

    //获取Package的安装路径
    StorageFolder folder = Package.Current.InstalledLocation;
    StorageFile file1 = await folder.GetFileAsync("datafile.xml"); //获取根路径下的文件
    StorageFile file2 = await folder.GetFileAsync("Data\\datafile.xml"); //获取根路径下的Data子路径下的文件


    Best wishes,


    Robin [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年5月17日 7:06
    版主
  • 非常感谢@Robin_Yang

    的热情回答。

    我的项目中需要一些既有的数据,是一个sqlite数据库文件。我现在将他放在项目中(根目录和assets资源目录),但执行你给的代码,都未能找到该文件,去到debug下的appx文件夹下看,也确实没有这个文件。但是按照你的代码,去找项目中生成的文件是能找到的,比如assets中png文件,根目录下的某xaml文件,都是能取到的。

    或者说像我这种情况,需要读取一个数据库文件中的数据,有什么好的解决方案吗?


    2012年5月17日 8:33
  • 非常感谢@frglig的热情回复。

    您可能没懂我的意思,我是要在项目开发的时候,去读取一个数据库文件中的数据。所以不是app发布之后,他的本地数据。

    当然,程序肯定是先将项目中的文件拷贝到本地数据存储中的,所以问题还是我如何去读取我项目中这个天价的数据库文件。


    2012年5月17日 8:36
  • 你可能要对资源进行如图设置

    2012年5月18日 1:48
  • 哦,哦, 我知道了,把文件的生成操作属性改成“content”

    这样他就以文件的形式存在于发布的包里了。

    记得windows phone7里面也纠结过这个问题,图片到底是content还是resource....

    感谢大家的热情回答!收益匪浅!

    2012年5月18日 6:44