1.代码

static void Main(string[] args) {

            //memory : 内存
            //Binary : 二进制

            String path = @"F:\ly\test2018_12_10.txt";
            //FileMode.Create  如果文件不存在,则重新创建,否则覆盖它
            //FileMode.Append  如果文件已存在,则不覆盖,而是从文件末尾添加操作,否则创建一个文件
            //FileMode.OpenOrCrate   如果文件存在,则打开,不存在则创建一个
            FileStream fs = new FileStream(path,FileMode.Create,FileAccess.ReadWrite);
            //注意点:在txt中换行必须要2个字符  \r\n
            String s = "123 qwer <>? \r\n 你好啊!"; //23个字节
            byte[] bs = System.Text.Encoding.Default.GetBytes(s); //Stirng 转 byte[]
            fs.Write(bs,0,bs.Length);
            //注意点:close()语句必须要有,不然所有的流操作都无效
            fs.Close();
            //追加内容 只能以写的方式
            fs = new FileStream(path,FileMode.Append,FileAccess.Write);
            fs.Write(bs,0,bs.Length);
            fs.Close();

            //读取内容只能以读的方式
            fs = new FileStream(path,FileMode.OpenOrCreate,FileAccess.Read);
            byte[] bts = new byte[1024];
            //1024只是请求的字节数,reallength是真正读取的字节数,用bts存储读取的内容
            int reallength = fs.Read(bts,0,1024);
            Console.WriteLine(fs.Length+"   "+bts.Length +"   "+reallength);//46  1024   46
            String reads = System.Text.Encoding.Default.GetString(bts); //byte[] 转 String
            Console.WriteLine(reads);
            fs.Close();

            //将读取的内容再写入文件
            fs = new FileStream(path,FileMode.Append,FileAccess.Write);
            //fs.Write(bts,0,1024);  不用这句,虽然bts的长度有1024,但是有效值的长度只有 reallength
            fs.Write(bts,0,reallength);
            fs.Close();



            Console.Read();
        }

2.总结

我们一开始写入了23个字节,后又追加了23个字节,最后又追加了46个字节,所以运行代码后,输出文件 应该有92个字节。

文件详细情况如下:

C#:文件IO操作 FileStream的用法

C#:文件IO操作 FileStream的用法

 

 

 

 

相关文章:

  • 2021-10-05
  • 2022-12-23
  • 2022-12-23
  • 2021-07-04
  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2021-10-24
猜你喜欢
  • 2022-12-23
  • 2021-04-22
  • 2022-12-23
  • 2021-11-26
  • 2022-12-23
相关资源
相似解决方案