FileStream:对字节进行读写,可以处理所有的文件
StreamRead StreamWrite:对字符进行读取
FileStream 文件流读写数据(操作字节)
// FileStream读取数据
FileStream newfile = new FileStream(@"E:\language\C#\a.txt", FileMode.OpenOrCreate, FileAccess.Read);
Byte[] Arr = new byte[220];
int num = newfile.Read(Arr, 0, Arr.Length);
string s = Encoding.Default.GetString(Arr, 0, num);
newfile.Close(); // 关闭流
newfile.Dispose();// 释放流所占用的资源
// 将创建文件流对象的过程写在using当中,会自动的帮助我们释放流所占用的资源:就不需要写上面两行代码
// FileStream写入数据
using(FileStream we=new FileStream(@"E:\language\C#\a.txt",FileMode.OpenOrCreate ,FileAccess .Write ))
{
string str="将这里数据写入到文件中";
byte [] by=Encoding.Default.GetBytes(str);
we.Write(by,0,by.Length );
}
举例:
class Program
{
static void Main(string[] args)
{
string source = @"E:\language\C#\\video\123.avi";
string target = @"D:\vivien.tang\233.avi";
copyfile(source, target);
Console.WriteLine("输出结束");
Console.ReadKey();
}
public static void copyfile(string source, string target) // 先读取出来,再复制
{
FileStream sour = new FileStream(source, FileMode.OpenOrCreate, FileAccess.Read);
Byte[] by = new byte[1024 * 1024 * 59];
int num1 = sour.Read(by, 0, by.Length);
using (FileStream wr = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))
{
wr.Write(by, 0, num1);
}
sour.Close();
sour.Dispose();
}
}
===============================================================================
StreamReader 从文件中读取数据(操作字符)
static void Main(string[] args)
{
string str = @"C:\Users\Administrator\Desktop\a.txt";
// File.Create(str);
using (StreamReader st = new StreamReader(str, Encoding.Default))
{
while (!st.EndOfStream)
{
string st1 = st.ReadLine(); //读出一行
Console.WriteLine(st1);
}
}
}
StreamWriter 读取数据
// TRUE表示是否追加:Append
using (StreamWriter sw=new StreamWriter(str,true))
{
sw.Write("将这个内容写入其中 ");
}
Console.ReadKey();