从Windows RT应用程序中的文件读取

可能重复:
如何逐行读取文本文件?

我试图在C#中逐行读取文件。

这是我的代码

String filename = "apoel.txt"; System.IO.StreamReader file = new System.IO.StreamReader(filename); 

我按照MSDN页面上的说明进行操作,然后完全按照它们进 问题是我一直在收到错误

System.IO.StreamReader.StreamReader(System.IO.Stream)’的最佳重载方法匹配有一些无效的参数
参数1:无法从’string’转换为’System.IO.Stream’

我添加了using System.IO ; 在我的代码顶部

我究竟做错了什么? 如果它有任何帮助,这是一个Windows Metro应用程序

也有人可以向我解释为什么我发布的MSDN上的文章是错误的并且不起作用? 请不要给我另类。 请告诉我为什么我的代码在MSDN中解释时没有工作

这是我用于在Windows 8中读取/写入文件的代码。它可以工作,我希望它也可以帮助你。

 private StorageFolder localFolder; // Read from a file line by line public async Task ReadFile() { try { // get the file StorageFile myStorageFile = await localFolder.GetFileAsync("MyDocument.txt"); var readThis = await FileIO.ReadLinesAsync(myStorageFile); foreach (var line in readThis) { String myStringLine = line; } Debug.WriteLine("File read successfully."); } catch(FileNotFoundException ex) { Debug.WriteLine(ex); } } // Write to a file line by line public async void SaveFile() { try { // set storage file StorageFile myStorageFile = await localFolder.CreateFileAsync("MyDocument.txt", CreationCollisionOption.ReplaceExisting); List myDataLineList = new List(); await FileIO.WriteLinesAsync(myStorageFile, myDataLineList); Debug.WriteLine("File saved successfully."); } catch(FileNotFoundException ex) { Debug.WriteLine(ex); } } 

您正在阅读文档,但没有考虑到StreamReader许多成员在Windowsapp store应用中不可用的事实。

查看整个StreamReader文档 。 您只能使用旁边有绿色包的成员。

Windowsapp store应用中的文件访问与完整桌面.NET略有不同。 我建议你阅读这篇MSDN指南 。 获得Stream ,您可以构建StreamReader – 或者您可以使用Windows.Storage.FileIO的成员(例如ReadLinesAsync ,具体取决于您要执行的操作。

 String[] lines = File.ReadAllLines(filePath); 

要么

 List lines = new List(File.ReadAllLines(filePath)); 

在上面发布的文件中,文件名未初始化为任何内容。 对于更高版本的编译器,它抱怨未使用的filename文件。 在任何情况下初始化文件名​​到

 string filename = @"c:\somefile.txt"; 

它应该正确编译。