如何指向存储在项目文件夹中的文件? WPF

时间:2014-03-27 10:21:04

标签: c# wpf filereference

目前我指的是我机器上的文件,但我想知道如何将字符串指向我在项目中创建的文件夹。例如,visual studio中文件夹的路径是

C:\Users\Drian Darley\documents\visual studio 2013\Projects\KinectBVversion1\KinectKickboxingBVversion1\Gesture\jabtwo.xml 

我听说过包URI,这适合这种情况,或者我如何设置?

这就是它目前指向文件的方式,这不太理想,因为它必须指向本地存储在机器上的文件。

private string gesturefile =
            Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\GesturePak\\wave.xml";

3 个答案:

答案 0 :(得分:5)

试试这个

string gesturefile= Path.Combine(Environment.CurrentDirectory, @"GesturePak\wave.xml");

示例:

http://msdn.microsoft.com/en-us/library/fyy7a5kt(v=vs.110).aspx http://www.dotnetperls.com/path

使用Path.GetFullPath

示例:http://msdn.microsoft.com/en-us/library/system.io.path.getfullpath.aspx

答案 1 :(得分:2)

如果您不想单独存储文件,则需要将Build Action设置为Resource(在Visual Studio的“属性”窗口中)并通过包URI访问它们:

var uri = new Uri("pack://application:,,,/GesturePAK/wave.xml");
var resourceStream = Application.GetResourceStream(uri).Stream;

现在,您可以通过resourceStream访问XML文件的内容。例如,将文件内容读入字符串可以这样做:

string content;
using (StreamReader reader = new StreamReader(resourceStream, Encoding.UTF8))
{
    content = reader.ReadToEnd();
}

答案 2 :(得分:1)

例如,如果您创建一个名为" Images"的文件夹。在你的项目中,你可以指出:

string address="Images/dukenukem.jpg";