Bunlar, dosyalara yazma ve dosyalardan okuma için en iyi ve en yaygın kullanılan yöntemlerdir:
using System.IO;
File.AppendAllText(sFilePathAndName, sTextToWrite);//add text to existing file
File.WriteAllText(sFilePathAndName, sTextToWrite);//will overwrite the text in the existing file. If the file doesn't exist, it will create it.
File.ReadAllText(sFilePathAndName);
Üniversitede bana öğretilen eski yol akış okuyucu / akış yazıcı kullanmaktı, ancak Dosya G / Ç yöntemleri daha az karmaşık ve daha az kod satırı gerektiriyordu. "Dosya" yazabilirsiniz. IDE'nizde (System.IO içe aktarma ifadesini eklediğinizden emin olun) ve mevcut tüm yöntemleri görün. Aşağıda, Windows Forms Uygulaması kullanılarak metin dosyalarına (.txt.) Dizeleri okumak / yazmak için örnek yöntemler verilmiştir.
Mevcut bir dosyaya metin ekleyin:
private void AppendTextToExistingFile_Click(object sender, EventArgs e)
{
string sTextToAppend = txtMainUserInput.Text;
//first, check to make sure that the user entered something in the text box.
if (sTextToAppend == "" || sTextToAppend == null)
{MessageBox.Show("You did not enter any text. Please try again");}
else
{
string sFilePathAndName = getFileNameFromUser();// opens the file dailog; user selects a file (.txt filter) and the method returns a path\filename.txt as string.
if (sFilePathAndName == "" || sFilePathAndName == null)
{
//MessageBox.Show("You cancalled"); //DO NOTHING
}
else
{
sTextToAppend = ("\r\n" + sTextToAppend);//create a new line for the new text
File.AppendAllText(sFilePathAndName, sTextToAppend);
string sFileNameOnly = sFilePathAndName.Substring(sFilePathAndName.LastIndexOf('\\') + 1);
MessageBox.Show("Your new text has been appended to " + sFileNameOnly);
}//end nested if/else
}//end if/else
}//end method AppendTextToExistingFile_Click
Dosya gezgini / dosya aç iletişim kutusu aracılığıyla kullanıcıdan dosya adını alın (mevcut dosyaları seçmek için buna ihtiyacınız olacaktır).
private string getFileNameFromUser()//returns file path\name
{
string sFileNameAndPath = "";
OpenFileDialog fd = new OpenFileDialog();
fd.Title = "Select file";
fd.Filter = "TXT files|*.txt";
fd.InitialDirectory = Environment.CurrentDirectory;
if (fd.ShowDialog() == DialogResult.OK)
{
sFileNameAndPath = (fd.FileName.ToString());
}
return sFileNameAndPath;
}//end method getFileNameFromUser
Mevcut bir dosyadan metin alın:
private void btnGetTextFromExistingFile_Click(object sender, EventArgs e)
{
string sFileNameAndPath = getFileNameFromUser();
txtMainUserInput.Text = File.ReadAllText(sFileNameAndPath); //display the text
}
string.Write(filename)
. Microsofts çözümü neden benimkinden daha basit / daha iyi?