我有一个Windows窗体应用程序,应该将其配置数据存储在名为config.txt
的文件中。我有这段代码,该代码在初始化表单时运行。这是函数:
string folderPath = @‘C:\Users\Public\Periodic_Clock\’;
string filePath = @‘C:\Users\Public\Periodic_Clock\config.txt’;
public Form1()
{
InitializeComponent();
once = 0;
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
if (!File.Exists(filePath))
{
new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite);
File.WriteAllText(filePath, "Alarm" + Environment.NewLine + "Alarm Ringing!" + Environment.NewLine + 1);
}
else
{
}
notificationTitle = File.ReadLines(filePath).Skip(0).Take(1).First();
notificationText = File.ReadLines(filePath).Skip(1).Take(1).First();
}
差不多,我有一个应用,可以在计时器关闭时发送通知。我想使用此配置文件存储通知的自定义标题,文本和通知类型。 (以便用户可以自定义通知的外观)我的意图是将第一行作为通知标题,将第二行作为文本,将第三行作为0-3之间的数字,以存储类型通知(信息,错误等)
我无法使程序将任何内容写入文本文件。它创建了它,但似乎完全跳过了我使用File.WriteAllText()
的部分。我使用了其他方法,例如StreamWriter
,但是没有将任何内容写入文本文档。现在的代码跳过了WriteAllText
部分,并在File.ReadLines
处创建了一个错误,这只是告诉我该序列不包含任何元素。这是什么问题我该如何解决?
答案 0 :(得分:-1)
最后,我得到了以下代码:
public Form1()
{
InitializeComponent();
once = 0;
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
try
{
FileStream config = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
config.Close();
StreamWriter writetext = new StreamWriter(filePath);
writetext.Write("Alarm");
writetext.WriteLine();
writetext.Write("Alarm Ringing!");
writetext.WriteLine();
writetext.Write("1");
writetext.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "Error!");
}
notificationTitle = File.ReadLines(filePath).Skip(0).Take(1).First();
notificationText = File.ReadLines(filePath).Skip(1).Take(1).First();
}