与ASP.NET(4.5.1)MVC相关的问题4.我想创建一个文件并在该文件中写入一行。根据我的理解,这很容易,我只需要执行以下操作:
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
if (!File.Exists(path))
{
// Create a file to write to.
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine("Hello");
sw.WriteLine("And");
sw.WriteLine("Welcome");
}
}
// Open the file to read from.
using (StreamReader sr = File.OpenText(path))
{
string s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
}
但是当我调用File类时它将无效。它不知道存在的方法,CreateText。
我不明白我做了导入System.IO
。那么问题是什么?
更新
在导入System.IO
和System.Web.MVC
的项目中找到解决方案。
解决方案是使用完整路径调用File类,如下所示:
if (!System.IO.File.Exists(path))
{
// Create a file to write to.
using (StreamWriter sw = System.IO.File.CreateText(path))
{
sw.WriteLine("Hello");
sw.WriteLine("And");
sw.WriteLine("Welcome");
}
}
答案 0 :(得分:2)
问题:我怀疑您的项目中有不同的类,名称为File
。
所以它指的是File
而不是System.IO.File
。
解决方案:我建议您使用完全限定的命名空间来访问File
中的System.IO
类,以避免出现歧义:
if(!System.IO.File.Exists("path"))
{
}