我正在尝试读取Visual Studio扩展名中文件的内容。以下代码有效,但如果没有打开,则强制我打开文件(否则崩溃):
textDocument = (TextDocument)projectItem.Document.Object("TextDocument");
EditPoint editPoint = textDocument.StartPoint.CreateEditPoint();
string text = editPoint.GetText(textDocument.EndPoint);
我可以获得项目的路径,所以我想我可以对项目的位置进行有根据的猜测。但是,理想情况下,我要么不打开就获取文件内容。或者,或者,获取项目项的路径(然后,我可以仅使用System.IO来访问文件内容)。
我看过了,但似乎找不到任何提及。有人可以指出我正确的方向吗?
您可以通过读取ProjectItem
的属性来获取路径。
var path = YourProjectItem.Properties.Item("FullPath").Value.ToString()
System.IO.File
怎么样?正如您在问题中所说,您可以获取所需文件的路径。因此,您可以执行以下操作:
string content = File.ReadAllText(path);
如果文件太大,并且由于大小而导致当前代码出现问题,您应该看一下“ StreamReader”。 MSDN
我不确定扩展名是否可行,但是您可以使用System.IO
,如下所示:
using System.IO;
string filePath = @"C:\Whatever\YourFileName.txt";
string fileText = File.ReadAllText(filePath);
您也可以这样使用StreamReader
:
using System.IO;
string filePath = @"C:\Whatever\YourFileName.txt";
using (StreamReader sr = new StreamReader(filePath))
fileText = sr.ReadToEnd();