Невозможно записать текст в файл .txt - PullRequest
0 голосов
/ 30 июня 2018

У меня есть приложение Windows Forms, которое должно хранить свои данные конфигурации в файле с именем 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, которая просто говорит мне, что последовательность не содержит элементов. В чем здесь проблема? Как мне это исправить?

1 Ответ

0 голосов
/ 30 июня 2018

В итоге я получил такой код:

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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...