从本地文件夹中读取文本文件
我想从本地目录中读取文本文件,我将文本文件添加到了我的c#解决方案中,因此它会在部署时被复制..但是如何打开它?我一直在寻找,但所有的例子假设我有一个C:\ TextFile.txt的:从本地文件夹中读取文本文件
我尝试了读取文件
if (File.Exists("testfile.txt"))
{
return true;
}
这没有奏效。然后我试过:
if (File.Exists(@"\\TextConsole\testfile.txt"))
{
return true;
}
但仍然不会打开它..任何想法??
仅仅因为你添加到您的解决方案,并不意味着该文件被放置到你的输出build目录的检查后。如果您想使用相对路径,请确保您的TextFile在构建期间被复制到输出目录。要做到这一点,在解决方案资源管理器去的文本文件的属性并设置Copy to Output Directory
到Always
或Copy if newer
然后你可以使用
File.Open("textfile.txt");
伟大的这为我工作! – 2011-08-01 18:30:12
确保在项目属性窗格中将“复制到输出目录”设置为true。这会将文件复制到读取访问将发生的bin目录。 – 2014-10-17 14:11:10
你需要使用下列情况之一,你已经取得
string path = @"\\TextConsole\testfile.txt";
if (File.Exists(path))
{
FileStream fileStream = File.OpenRead(path); // or
TextReader textReader = File.OpenText(path); // or
StreamReader sreamReader = new StreamReader(path);
}
它不会找到该文件,因为它不存在于他的构建目录中。 – 2010-02-18 20:15:36
在我眼中,正确的方法是'string txtPath = Path.Combine(Environment.CurrentDirectory,“testfile.txt”);'。 – Bobby 2010-02-18 20:15:56
如果该文件确实是在c:\textfile.txt
,你可以找到像这样:
if (File.Exists(@"c:\testfile.txt"))
{
return true;
}
但是,你应该使用Path.Combine
建立一个嵌套的文件路径和DriveInfo
与驱动器的详细工作。
本示例使用StreamReader类的ReadLine方法逐个读取文本文件的内容为一个字符串。每个文本行都存储在字符串行中并显示在屏幕上。
int counter = 0;
string line;
// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt");
while((line = file.ReadLine()) != null)
{
Console.WriteLine (line);
counter++;
}
file.Close();
// Suspend the screen.
Console.ReadLine();
参考http://msdn.microsoft.com/en-us/library/aa287535%28v=vs.71%29.aspx
的TESTFILE.TXT是在解决方案的目录。它不会被复制到构建目录。你将不得不知道它的文件路径。 – 2010-02-18 20:12:10