您的位置:首页 > 编程语言 > C#

c#文件读取和写入的方式总结

2015-10-18 00:00 513 查看


1.使用FIleStream(它存储或者读取都是用BYTE数组或者是BYTE)

1.1文件写入部分:

string path = "C:\\test.txt";

if (File.Exists(path)) ///如果文件存在,那么删除文件
File.Delete(path);
FileStream fs = File.Open(path, FileMode.Create); ///这里第二个表示如果文件不存在,则重新建立一个新的
///FileStream fs = File.Open(path, FileMode.Append); ///如果要追加内容时用这个

fs.Write(bs, 0, bs.Length); ///这里的bs是一个数组byte[]

fs.Close();

1.2文件读取部分:

string str = "C:\\test.txt";
if (!File.Exists(str)) ///检测文件是否存在
{
MessageBox.Show("文件不存在,请查看客户端是否已经上传数据!");
}
else
{
FileStream fop = File.OpenRead(str);
byte[] arr = new byte[1000];
while (fop.Read(arr, 0, arr.Length) > 0) ///这个循环会将文件所有的内容都读取出来
{
ClientSocket[1].Send(arr, 0, arr.Length,0);
}
fop.Close();
}

2.StreamWriter和StreamReader(操作对象是字符或者字符串)

2.1文件读取部分:

string path="C:\\TEST.txt";
string st = "";
if (!File.Exists(path))
MessageBox.Show("文件不存在,请先新建一个!");
else
{
byte[] b=new byte[10];
StreamReader sr = new StreamReader(path);
while ((st = sr.ReadLine()) != null)
{
tb.AppendText(st);
MessageBox.Show(st);
}
sr.Close();

}

2.2文件写入部分

if (File.Exists(path))
File.Delete(path);
StreamWriter sw = new StreamWriter(path,true); /// true表示文件存在就将内容加在后面,false表示覆盖内容
sw.Write("today is a good day!");
sw.Close();

3.使用binaryreader和binarywriter进行文件读写操作(可以对任何基本数据类型进行操作)

binaryreader提供了readstring,readbyte,readboolean,readint,readdouble等方法来读取不同类型的数据,而binarywriter则提供write()方法将各种不同类型的值写入当前流(也就是write方法的参数可以是任何基本数据类型)。下面以存储和读取double类型的数据来举例。

3.1 binarywrite写入数据

FileStream fs=File.Create(path1);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(100.123);
bw.Write(200.524);
bw.Close();
fs.Close();

3.2 binaryreader读取数据

FileStream fs1 = new FileStream(path1, FileMode.Open);
BinaryReader br = new BinaryReader(fs1);
Console.WriteLine("{0}",br.ReadDouble());
Console.WriteLine("{0}", br.ReadDouble());
br.Close();
fs.Close();

版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: