C# 写入文本文件,将文本追加到文件,然后加载(回读)
这是我在一个新类中的代码:C# 写入文本文件,将文本追加到文件,然后加载(回读),c#,winforms,C#,Winforms,这是我在一个新类中的代码: public static void Save(List<Point> points, int imageWidth, int imageHeight, double originalFactor, double currentFactor) { string appDirectory = Path.GetDirectoryName(Application.LocalUserAppDataPath); string textFile = "Li
public static void Save(List<Point> points, int imageWidth, int imageHeight, double originalFactor, double currentFactor)
{
string appDirectory = Path.GetDirectoryName(Application.LocalUserAppDataPath);
string textFile = "LightningsDistance.txt";
string path = "LightningsDistance";
string lightningsDistancePath = Path.Combine(appDirectory,path);
string file = Path.Combine(lightningsDistancePath,textFile);
if (!Directory.Exists(lightningsDistancePath))
{
Directory.CreateDirectory(lightningsDistancePath);
}
if (!File.Exists(file))
{
File.Create(file);
}
}
public static void Load()
{
}
在点坐标中,应如下所示:
Coordinate 1: X = 21, Y = 25
Coordinate 2: X = 210, Y = 344
等等。列表点是这样的,例如在索引0中,我看到:X=21y=35
在Form1中,我有一个单击按钮,我将其称为保存方法:
private void button2_Click(object sender, EventArgs e)
{
CloudEnteringAlert.Save(picturebox1PointsCoordinates, img.Width, img.Height, factor, currentfactor);
}
我想,当我点击按钮时,它将写入文本文件,如果我点击一次并绘制更多点,然后再次点击按钮,它将以与上述相同的格式向文本文件添加(附加)新信息,而不是覆盖现有文件
然后我有另一个点击按钮,它调用一个加载方法。到目前为止,Load方法没有得到任何结果。在新课程中:
public static void Save(List<Point> points, int imageWidth, int imageHeight, double originalFactor, double currentFactor)
{
string appDirectory = Path.GetDirectoryName(Application.LocalUserAppDataPath);
string textFile = "LightningsDistance.txt";
string path = "LightningsDistance";
string lightningsDistancePath = Path.Combine(appDirectory,path);
string file = Path.Combine(lightningsDistancePath,textFile);
if (!Directory.Exists(lightningsDistancePath))
{
Directory.CreateDirectory(lightningsDistancePath);
}
if (!File.Exists(file))
{
File.Create(file);
}
}
public static void Load()
{
}
我需要的是,当我在任何时候单击Load时,它都会从我保存的文本文件中读取信息,并且现在只会将点坐标分配回列表点。文件。AppendAllText(--)就是您为此目的所需的全部内容。其语法类似于
File.AppendAllText(string path,string contents,Encoding encoding);
所以你所需要的就是用合适的参数调用这个函数,就像这样
File.AppendAllText(textFile,"Something to write...");
如果使用正确的路径运行此语句5次,则生成的文件将包含五行文本,每行都有“要写入的内容…”
希望这就是你问题的解决办法。你看过吗?也许吧?你的问题是什么?检查流读取器和流写入器类别这是你的答案。将数据而不是表单写入顺序文件是很常见的。更常见的是将数据写入:100200、50、40等。写入结构化格式并读取多个记录将需要额外的代码。