请大家看下怎么没达到实现的功能,而且还有不能在流  读取的错误
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication2
{
    class Program
    {
        public int[] a = new int[100];
        public string[] b = new string[100];
        int r = 0;
        public void tianjia()
        {
            FileStream jk = new FileStream("k.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
            BinaryWriter bq = new BinaryWriter(jk, Encoding.Default);
            bq.BaseStream.Seek(0, SeekOrigin.End);
            Console.WriteLine("请输入你添加的用户名");
            b[r] =Console.ReadLine();
            bq.Write(b[r]);
            Console.WriteLine("请输入你的密码");
            a[r] = Convert.ToInt32(Console.ReadLine());
            bq.Write(a[r]);
           r++;
           bq.Flush();
           bq.Close();
           jk.Close();
        }
        public void chazhao()
        {
            Console.WriteLine("请输入你要查找的用户名");
            string j = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            int mi = Convert.ToInt32(Console.ReadLine());
            for (int i = 0; i < r; i++)
            {
                if (j == b[i] && mi == a[i])
                {
                    Console.WriteLine("找到用户:用户名{0}密码{1}", b[i], a[i]);
                }
                else
                {
                    Console.WriteLine("你输入的用户名或密码错误");
                }
            }
        }
        public void xiugai()
        {
            Console.WriteLine("请输入你要修改的用户名");
            string xg = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            int xm = Convert.ToInt32(Console.ReadLine());
            for (int i = 0; i <r; i++)
            {
                if (xg == b[i] && xm == a[i])
                {
                    Console.WriteLine("请输入新的用户名:");
                    string xin = Console.ReadLine();
                    Console.WriteLine("请输入新的密码");
                    int xi = Convert.ToInt32(Console.ReadLine());
                    b[i] = xin;
                    a[i] = xi;
                }
            }
        }
        public void du()
        {
            FileStream jk = new FileStream("k.dat", FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read);
            BinaryReader br = new BinaryReader(jk,Encoding.Default);
            br.BaseStream.Seek(0, SeekOrigin.Begin);
            string str = br.ReadString();
            int km = br.ReadInt32();
            while (str!= null) 
            {
                Console.WriteLine("用户名:{0},密码:{1}", str, km);
                   str = br.ReadString();
            km = br.ReadInt32();
          }
            br.Close();
            jk.Close();
        }
        public void xiansi()
        {
            for (int c = 0; c <  r; c++)
            {
                Console.WriteLine("用户名:{0} 密码{1}", b[c], a[c]);
            }
         
        }
        static void Main(string[] args)
        {
            Program sl = new Program();
            Console.WriteLine("1是添加用户;2是查找用户;3是修改用户");
            int mn = Convert.ToInt32(Console.ReadLine());
            switch (mn)
            {
                case 1:
                    sl.tianjia();
                    break;
                case 2:
                    sl.chazhao();
                    break;
                case 3:
                    sl.xiugai();
                    break;
            }
            sl.xiansi();
            sl.du();
            
        }
    }
}