2016-01-20 82 views
1

存在扩展名为“.pop”的文件类型。我可以用记事本打开它。 我想在我的C#表单应用程序中逐行获取此文件的内容。 我该怎么做?在窗体应用程序上获取未知文件内容

+0

是吧'文本文件'?如果是这样,你当然可以做到这一点...... – Ian

+0

是的,它是一个文本文件。我应该如何从.txt文件读取我的程序。 – tebdilikiyafet

+0

作为一系列字节,是可以读取任何文件内容。如果这些字节没有以任何奇怪的方式加密或编码,并且您有权读取它,那么您可以打开它并解释它。检出File.IO类 – ne1410s

回答

6

如果它是你可以使用File.ReadAllLines法的文本文件:

string[] lines = File.ReadAllLines("myfile.pop"); 

然后你可以通过索引线阵列或访问个别线路回路。但是请注意,如果文件非常大,这会将整个文件内容加载到内存中,这可能不是很好。在这种情况下,你可以逐行使用StreamReader阅读:

using (var stream = File.OpenRead("myfile.pop")) 
using (var reader = new StreamReader(stream)) 
{ 
    string line; 
    while ((line = reader.ReadLine()) != null) 
    { 
     // do something with the line here 
    } 
} 

在这种情况下,只有一个单一的线加载到内存中。

+0

第一个使用块中的流对象的含义是什么? – Adil

+0

这是'File.OpenRead'方法返回的'FileStream'实例。然后传递给第二个StreamReader。 –

+0

它没有在StreamReader中传递,你有文件而不是流 – Adil

2

如果myfile.pop事实上是一个文本文件,我建议使用File.ReadLines(它不像File.AllReadLines逐行读取文件中的行而不加载所有的文件内容到内存):

foreach(String line in File.ReadLines("myfile.pop")) { 
    //TODO: put relevant code here 
} 
相关问题