我正在尝试将值写入C#中的文件。我正在尝试使用以下代码之一:
using (StreamWriter writer = new StreamWriter("values.txt"))
{
writer.Write("Word");
writer.WriteLine("word 2");
writer.WriteLine("Line");
}
我得到了错误:Error the best overloaded method match for System.IO.StranWriter.StreamWriter(System.IO.Stream)
有一些无效的参数。
或以下代码:
string path = @"values.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");
}
}
我得到以下错误:The name 'File' does not exist in the current context
。我什么时候在这里失踪?
编辑:基本上,我尝试将FIle更改为System.IO.FIle,得到了以下消息:The type or namespace 'File' does not exist in the namespace System.IO(are you missing an assembly reference)
。我的代码在一个函数中,我从windows应用程序中的公共MainPage()函数调用该函数。
第二版:我试图按照提议的重复职位的解决方案。我收到了await operator can only be used within an async method
的消息。
好吧,我们在这里猜了很多,但看起来你在写一个Phone、Store或Universal应用程序。
新的Windows运行时并没有为您提供所有旧的同步类和方法。
您的平台上没有FileStream(string)
构造函数,也没有静态IO.File
类。
我建议
IO.File.WriteAllText(fileFullPath, stringBuilder.ToString());
而不是StreamWriter。
我看到的是您正在尝试在流对象中写入,只需按照代码操作即可
System.IO.File.AppendAllText(@"{Filepath}","your text");
请注意,使用WriteAllText或、将用新值替换所有内容。
看起来您正确使用了StreamWriter
。如果没有任何帮助,请从头开始创建新的解决方案,控制台应用程序并粘贴此代码。它必须工作:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (StreamWriter writer = new StreamWriter("test.txt"))
{
writer.Write("Line 1");
writer.WriteLine("Still line 1");
writer.WriteLine("Line 2");
}
}
}
}
显然,在bin文件夹中查找test.txt
文件