[英]Retrieve the data from Text File
我有一個小項目。 我正在做的是,從用戶那里獲取輸入並將其保存在文本文件中。 它的工作很好。
private void btbsave_Click(object sender, EventArgs e)
{
//Create Directory
DirectoryInfo dd = new DirectoryInfo("C://Program Files/UserInfo");
dd.Create();
//To save the inputs
StreamWriter sw = new StreamWriter("C://Program Files/UserInfo/UserInfo.txt", true);
sw.WriteLine(txtname.Text);
sw.WriteLine(txtage.Text);
sw.Flush();
sw.Close();
//Conformation
MessageBox.Show("Credentials Saved");
//To Clear the text box after data saved
txtname.Text = string.Empty;
txtage.Text = string.Empty;
//Focus
txturl.Focus();
}
現在,我想根據輸入來檢索數據。 這部分對我來說很難,你們可以幫我嗎?
private void btnsearch_Click(object sender, EventArgs e)
{
StreamReader sr = new StreamReader("C://Program Files/UserInfo/UserInfo.txt");
String mystring = sr.ReadToEnd();
//No idea how to retrive now plz help!
}
我的項目的簡要說明:從UserName和Age等用戶那里獲取一些值。 將它們保存在文本文件中。
我需要基於用戶UserName檢索值。 然后,我應該獲取UserName及其年齡 ,並將這些值插入2個不同的只讀文本框中。
我個人建議您重新考慮您的方法,但以下是您要尋找的內容:
string sUserToSearch = "username";
string sAgeToSearch = "22";
string[] readText = File.ReadAllLines("UserInfo.txt");
for (int i = 0; i < readText.count-2; i++) {
if(readText[i] == sUserToSearch && readText[i+1] == sAgeToSearch);
// Found it!
}
我不知道您要執行的操作,但是如果我答對了,您應該閱讀有關序列化的更多信息。
首先,您必須同時分離數據,然后將其插入文本文件
private void WriteUserToFile(User user, string path)
{
using(var sw = new StreamWriter(path, true))
{
sw.WriteLine(user.Name + ";" + user.Age);
}
}
現在您有一個像這樣的文件:
User1;10
User2;20
User3;45
現在,您可以拆分數據了:
private IEnumerable<User> ReadUsersFromTextFile(string path)
{
var users = new List<User>();
using(var sr = new StringReader(path)
{
do
{
var strings = sr.ReadLine().split(';');
var user = new User();
user.Name = strings[0];
user.Age = strings[1];
users.Add(user);
}while(!sr.EndOfStream)
}
return users;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.