文件时实实在在,看得到的东西,但是流就不一样了,看不见,在数据传输过程中一个处理流动的状态,不是一个静止的东西。就例如把一个文件通过qq发给你,就是通过流来传递的,然后你在反转化过来。
文件流 FileStream
FileStream fs = new FileStream(@"F:\zhaojing\zhaojing.txt", FileMode.Create);
string s = "你好";
byte[] arr = Encoding.Default.GetBytes(s);
fs.Write(arr, 0, arr.Length);
fs.Close();
这样就可以实现像文件中写东西。
File.WriteAllText((@"F:\zhaojing\zhaojing.txt","你好");
这样也写入同样的内容,代码相对简单很多,为什么还用上边的流啊。其实下边的这行语句封装了上边的五行代码。
我们也可以写自己的WriteAllText方法
public static void WriteAllText(string path, string content)
{
FileStream fs = new FileStream(path, FileMode.Create);
byte[] arr = Encoding.Default.GetBytes(content);
fs.Write(arr, 0, arr.Length);
fs.Close();
}
专门用于写流的类
public static void WriteAllText(string path, string content)
{
StreamWriter sw = new StreamWriter(path,false,Encoding.Default);
sw.Write(content);
sw.Close();
}
读取的时候要注意编码问题
StreamReader sr = new StreamReader(path, Encoding.Default);
Console.WriteLine(sr.ReadToEnd());