2013-03-06 6 views
0

Я пишу программу, которая будет документировать, как мой день был (очень похож на дневник). Мне удалось в значительной степени заставить программу делать все, что я хочу на этом этапе, кроме одной вещи. Это необходимо для автоматического сохранения данных richtextbox в файл .txt с датой и временем создания. Я могу заставить его сохранить файл, но он сохранит его в папке TomJ как Record My Life files.txt, если папка «Record My Life files» не была создана, я хочу, чтобы она была сохранена в папке Запишите файлы моей жизни как (дата + время) .txt.Как сохранить данные richtextbox в текстовый файл без использования диалога?

Подводя итог моему вопросу: Как отредактировать мой код, чтобы автоматически сохранить файл reviewtxtbox в папке Record My Life, с именем date + time?

Я новичок, я провел около 6 часов, используя C#, но раньше я делал некоторые другие материалы для программирования, поэтому я был бы greeatful, если бы вы могли просто объяснить свои ответы. :) Спасибо код мне нужно редактировать выглядит следующим образом:

//creat directory for folders 
if (!Directory.Exists(@"C:\Users\TomJ\Record My Life files")) 
{ 
} 
else 
{ 
    Directory.CreateDirectory(@"C:\Users\TomJ\Record My Life files"); 
    MessageBox.Show("Directory Created for Diary Entries"); 
} 

private void savebutton_Click_1(object sender, EventArgs e) 
{ 
    try 
    { 
     string date = datepckr.Text; 
     string time = timetxtbox.Text; 
     savefile.FileName = date + time; 
     savefile.DefaultExt = "*.txt*"; 
     savefile.Filter = "TEXT Files|*.txt"; 
     reviewtxtbox.SaveFile(@"C:\Users\TomJ\Record My Life files\", RichTextBoxStreamType.PlainText); 
     MessageBox.Show("Your day has been saved!"); 
    } 
    catch(Exception etc) 
    { 
     MessageBox.Show("An error Ocurred: " + etc.Message); 
    } 
} 

ответ

1

Взгляните на файл класса в System.IO пространство имен:

http://msdn.microsoft.com/en-us/library/system.io.file.aspx

В частности, вы можете найти File.AppendAllText или File.CreateText полезным.

Оба варианта должны содержать полный путь к файлу и содержимое файла в качестве аргументов, и если ваша программа имеет права на запись в вашей папке, файл будет либо добавлен, либо создан, либо заменен на основе используемого вами вызова функции.

Примером может быть:

string folder = @"C:\Users\TomJ\Record My Life files\" 
string fileName = "testFile.txt"; 

File.AppendAllText(folder + fileName, "test text to write to the file"); 
+0

Я пробовал это, и я думаю, что это метод, который я буду использовать, мне удалось заставить программу сохранить файл в правильном каталоге, но я все еще запутался с именем, пока он создает файл, но он называется «temp», мне было интересно, могу ли я переименовать этот файл onc, который он создал? Есть ли код кода, который я мог бы использовать для изменения имени? – TomJ

+0

Если вы используете что-то вроде моего примера, файл должен быть создан с именем, указанным в переменной имени файла. В моем примере файл должен был быть создан с именем «testFile.txt». – philreed

+0

Спасибо :) будет ли это работать, если fileName является переменной? – TomJ

0

Вы можете использовать File.WriteAllText(path, contents). Нечто подобное должно работать:

//creat directory for folders 
if (!Directory.Exists(@"C:\Users\TomJ\Record My Life files")) 
{ 
} 
else 
{ 
    Directory.CreateDirectory(@"C:\Users\TomJ\Record My Life files"); 
    MessageBox.Show("Directory Created for Diary Entries"); 
} 

private void savebutton_Click_1(object sender, EventArgs e) 
{ 
    try 
    { 
    string content = new TextRange(reviewtxtbox.Document.ContentStart, reviewtxtbox.Document.ContentEnd).Text; 
    string date = datepckr.Text; 
    string time = timetxtbox.Text; 
    string path = @"C:\Users\TomJ\Record My Life files\" + date + time + ".txt"; 
    File.WriteAllLines(path,content); 
    MessageBox.Show("Your day has been saved!"); 
    } 
    catch(Exception etc) 
    { 
    MessageBox.Show("An error Ocurred: " + etc.Message); 
    } 
} 
+0

Но будьте осторожны: [ 'File.WriteAllLines()'] (http://msdn.microsoft.com/en-us/library/system.io.file. writealltext.aspx): _ «Создает новый файл, записывает содержимое в файл и затем закрывает файл. Если целевой файл уже существует, он перезаписывается« _. – CodeCaster

Смежные вопросы