我发现了一个非常难以解决的问题,我放弃了自己找到答案。我目前正在开发 Windows 8商店应用,我正在使用MS Visual Studio 2012(当然)。
我想在应用程序启动时读取csv文件。我创建了一个带有类的新.cs文件,其中一个应该拥有这个文件读取方法。在这一点上一切都很好,但是当我开始实现阅读器时,我收到以下错误消息:
最佳重载方法匹配System.IO.StreamReader.StreamReader(System.IO.Stream)'有一些无效的论点。 参数1:无法转换为' string'到' System.IO.Stream'
我很想知道,因为所有的MS引用都说System.IO.StreamReader
可以有一个字符串作为参数。奇怪的。为了好玩,我创建了一个简单的控制台应用程序,我复制了所有这些StreamReader的东西,这是一个奇迹,它正常工作......
也许我对Win 8 Store应用程序知之甚少,但老实说我找不到有关此问题的任何信息。
商店应用程序的代码:
public void readCSV()
{
string path = @"ms-appdata://Asstes/Content/data.csv";
try
{
using (System.IO.StreamReader sr = newSystem.IO.StreamReader(path))
{
while (sr.Peek() >= 0)
{
Console.WriteLine(sr.ReadLine());
}
}
}
finally
{
}
}
编译器接受的代码(作为控制台应用程序):
static void Main(string[] args)
{
System.IO.StreamReader reader;
reader = new System.IO.StreamReader("path.csv");
reader.ReadLine();
}
答案 0 :(得分:0)
我用它来读取资源文件:
public static async Task<IList<Person>> GetPeople()
{
var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/People.xml"));
var stream = await file.OpenStreamForReadAsync();
using (StreamReader sr = new StreamReader(stream))
{
while (sr.Peek() >= 0)
{
var a = sr.ReadLine();
}
}
}
People.xml具有Content / Do copy的构建操作。