2014-01-06 2 views
0

У меня возникли проблемы с сохранением содержимого текстового поля в текстовом файле.Попытка сохранить содержимое текстового поля в текстовый файл

Я собираю информацию о нескольких репозиториях и распечатываю результаты в текстовое поле и позволяю пользователю нажимать кнопку, чтобы сохранить информацию.

Вот код позади кнопки:

//create a folder on the user's desktop 
     string saveInfoFolder = "C:/Users/" + Environment.UserName + "/Desktop/RepositoryResults"; 

     DirectoryInfo newDirectory = new DirectoryInfo(saveInfoFolder); 
     if (!newDirectory.Exists) 
     { 
      newDirectory.Create(); 
     } 

     //loop through each pathway and save to the text file (create it if necessary) 
     string saveRepositoryResults = saveInfoFolder + "/RepositoryResults.txt"; 
     FileInfo RepositoryResults = new FileInfo(saveRepositoryResults); 
     if (!RepositoryResults.Exists) 
     { 
      //update the text file with the details 
      string createText = lstFileContents.Text; 
      File.WriteAllText(saveRepositoryResults, createText); 
     } 
     else 
     { 
      string createText = lstFileContents.Text; 
      File.WriteAllText(saveRepositoryResults, createText); 
     } 

Это должно работать, не так ли? Все, что я получаю в текстовом файле, - это путь к репозиторию, а не результаты.

Может ли кто-нибудь мне помочь?

Спасибо! :)

+1

Создает ли файл? Какое содержимое? Я просто запускал это на своей машине, и это сработало. Каково содержимое 'lstFileContents.Text'? –

+0

Да, он создает файл, но отображает только пути, а не информацию. Пользователь выбирает текстовый файл, содержащий все пути (это нужно делать каждый месяц), как только информация (размер, количество файлов, количество папок) будет собрана, текстовое поле отображает все эти данные. Затем пользователь может сохранить это. – Mark

+0

@Mark Итак, в чем проблема? –

ответ

0

C#

using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines.txt", true)) 
{ 
    file.WriteLine(yourtxtbox.text); 
} 
0
string saveInfoFolder = string.Format(@"C:/Users/{0}/Desktop/RepositoryResults", Environment.UserName); 

... 

string saveRepositoryResults = saveInfoFolder + "/RepositoryResults.txt"; 

... 

string createText = lstFileContents.Text; 
System.IO.File.WriteAllText(saveRepositoryResults, createText); 
0

Ваш код выглядит хорошо, чтобы написать текст в file.But, что это значение в TextBox.Text, когда вы пытаетесь записать его содержимое в файле , Также вы можете изменить это утверждение if, поскольку else также работает одинаково.

if (!RepositoryResults.Exists) 
    { 
     //update the text file with the details 
     string createText = lstFileContents.Text; 
     File.WriteAllText(saveRepositoryResults, createText); 
    } 
    else 
    { 
     string createText = lstFileContents.Text; 
     File.WriteAllText(saveRepositoryResults, createText); 
    } 
Смежные вопросы