C#实现文本文件读写方法汇总
方法一:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Windows.Forms;
usingSystem.IO;
namespacetxt
{
publicpartialclassForm1:Form
{
//stringpath;
publicForm1()
{
InitializeComponent();
button3.Click+=button3_Click;
}
privatevoidtextBox2_TextChanged(objectsender,EventArgse)
{
stringpath1=textBox2.Text;
if(!File.Exists(path1))
{
MessageBox.Show("文件不存在");
}
}
//浏览按钮
privatevoidbutton3_Click(objectsender,EventArgse)
{
/*if(folderBrowserDialog1.ShowDialog()==DialogResult.OK)
{
stringselUrl=folderBrowserDialog1.SelectedPath;
}*/
OpenFileDialogofd=newOpenFileDialog();
if(ofd.ShowDialog()==DialogResult.OK)
{
textBox2.Text=ofd.FileName;
}
//选择文件夹
/*FolderBrowserDialogfbd=newFolderBrowserDialog();
fbd.ShowDialog();
MessageBox.Show(fbd.SelectedPath);
*/
}
//读取文件
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox2.Text!=null)
//读取文件内容并显示在textbox1中让用户修改
{
stringpath=textBox2.Text;
if(File.Exists(path))
//{
//File.Delete(path);
//}
textBox1.Text=File.ReadAllText(path,Encoding.Default);
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
//string[]appendText=textBox1.Text;
File.WriteAllText(textBox2.Text,textBox1.Text,Encoding.Default);
MessageBox.Show("保存成功");
}
}
}
方法二:
namespace文本文件打开测试
{
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidbtn_Read_Click(objectsender,EventArgse)
{
//异常检测开始
try
{
FileStreamfs=newFileStream(@tB_PachFileName.Text,FileMode.Open,FileAccess.Read);//读取文件设定
StreamReaderm_streamReader=newStreamReader(fs,System.Text.Encoding.GetEncoding("GB2312"));//设定读写的编码
//使用StreamReader类来读取文件
m_streamReader.BaseStream.Seek(0,SeekOrigin.Begin);
//从数据流中读取每一行,直到文件的最后一行,并在rTB_Display.Text中显示出内容
this.rTB_Display.Text="";
stringstrLine=m_streamReader.ReadLine();
while(strLine!=null)
{
this.rTB_Display.Text+=strLine+"\n";
strLine=m_streamReader.ReadLine();
}
//关闭此StreamReader对象
m_streamReader.Close();
}
catch
{
//抛出异常
MessageBox.Show("指定文件不存在");
return;
}
//异常检测结束
}
privatevoidbtn_Replace_Click(objectsender,EventArgse)
{
//判断替换开始
if(tB_Replace.Text==""&&tB_Replace_2.Text=="")
{
MessageBox.Show("想替换的字符都没有就换啊,你太有才了");
}
else
{
if(rTB_Display.Text=="")
{
MessageBox.Show("文件内容为空无法进行替换,请检查文件");
}
else
{
stringstr=rTB_Display.Text.ToString();
rTB_Display.Text=str.Replace(@tB_Replace.Text,@tB_Replace_2.Text);//替换
}
}
//结束
}
privatevoidbtn_Save_Click(objectsender,EventArgse)
{
//异常检测开始
try
{
//创建一个文件流,用以写入或者创建一个StreamWriter
FileStreamfs=newFileStream(@tB_Save.Text,FileMode.OpenOrCreate,FileAccess.Write);
StreamWriterm_streamWriter=newStreamWriter(fs);
m_streamWriter.Flush();
//使用StreamWriter来往文件中写入内容
m_streamWriter.BaseStream.Seek(0,SeekOrigin.Begin);
//把richTextBox1中的内容写入文件
m_streamWriter.Write(rTB_Display.Text);
//关闭此文件
m_streamWriter.Flush();
m_streamWriter.Close();
}
catch
{
//抛出异常
MessageBox.Show("写入文件失败,请检查路径文件名与权限是否符合");
}
//异常检测结束
}
}
}
方法三:
//写入文本文件
classWriteTextFile
{
staticvoidMain()
{
//如果文件不存在,则创建;存在则覆盖
//该方法写入字符数组换行显示
string[]lines={"firstline","secondline","thirdline","第四行"};
System.IO.File.WriteAllLines(@"C:\testDir\test.txt",lines,Encoding.UTF8);
//如果文件不存在,则创建;存在则覆盖
stringstrTest="该例子测试一个字符串写入文本文件。";
System.IO.File.WriteAllText(@"C:\testDir\test1.txt",strTest,Encoding.UTF8);
//在将文本写入文件前,处理文本行
//StreamWriter一个参数默认覆盖
//StreamWriter第二个参数为false覆盖现有文件,为true则把文本追加到文件末尾
using(System.IO.StreamWriterfile=newSystem.IO.StreamWriter(@"C:\testDir\test2.txt",true))
{
foreach(stringlineinlines)
{
if(!line.Contains("second"))
{
file.Write(line);//直接追加文件末尾,不换行
file.WriteLine(line);//直接追加文件末尾,换行
}
}
}
}
}
//读取文本文件
classReadTextFile
{
staticvoidMain()
{
//直接读取出字符串
stringtext=System.IO.File.ReadAllText(@"C:\testDir\test1.txt");
Console.WriteLine(text);
//按行读取为字符串数组
string[]lines=System.IO.File.ReadAllLines(@"C:\testDir\test.txt");
foreach(stringlineinlines)
{
Console.WriteLine(line);
}
//从头到尾以流的方式读出文本文件
//该方法会一行一行读出文本
using(System.IO.StreamReadersr=newSystem.IO.StreamReader(@"C:\testDir\test.txt"))
{
stringstr;
while((str=sr.ReadLine())!=null)
{
Console.WriteLine(str);
}
}
Console.Read();
}
}
以上所述就是本文的全部内容了,希望大家能够喜欢。