文件资源管理器及二进制

1.#region 文件的读取/ /递归
        private void Form1_Load(object sender, EventArgs e)
        {
            Getnode();
        }
        private void Getnode()
        {
            //获取F盘中的txt文件  当前路径下的txt文档
            string[] filetxts = Directory.GetFiles(@"F:\文件资源管理器", "*.txt", SearchOption.TopDirectoryOnly);
            //DirectoryInfo[] filetxts = dirinfo.GetDirectories();
            foreach (string item in filetxts)
            {
                TreeNode parentnode = treeView1.Nodes.Add(Path.GetFileName(item));
                parentnode.Tag = item;
                //this.listBox1.Items.Add(item);
            }
            DirectoryInfo dirinfo = new DirectoryInfo(@"F:\文件资源管理器");
            DirectoryInfo[] infos = dirinfo.GetDirectories();
            foreach (DirectoryInfo item in infos)
            {
                //D盘内容及其他资料  的路径
                TreeNode parentnode = treeView1.Nodes.Add(item.Name);
                parentnode.Tag = item.FullName;
                Loadfile(item.FullName, parentnode);
            }
        }
  //获取当前目录下的子文件
        private void Loadfile(string path, TreeNode parentnode)
        {
            
            #region 找到txt文件,并将parentnode的子节点文件路径绑定到tag属性上
            //this.listBox1.Items.Clear();
            string[] filetxts = Directory.GetFiles(path, "*.txt", SearchOption.TopDirectoryOnly);
            //string[] filetxts = Directory.GetFiles(path);
            foreach (string item in filetxts)
            {
                TreeNode childnode = parentnode.Nodes.Add(Path.GetFileName(item));
                childnode.Tag = item;
                //this.listBox1.Items.Add(item);
            }
            #endregion


            #region 找到parentnode子节点的文件夹
            //GetDirectories获取指定目录下的子文件
            string[] filenames = Directory.GetDirectories(path);
            foreach (string item in filenames)
            {
                //MessageBox.Show(item);
                TreeNode parchildfile = parentnode.Nodes.Add(Path.GetFileName(item));
                //this.listBox1.Items.Add(item);
                parchildfile.Tag = item;
                Loadfile(item,parchildfile);
            }
            #endregion
        }

         #endregion

二进制与使用流的方式基本相同

2.二进制  byte[]数组  写入记事本

namespace 二进制
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = Console.ReadLine();
            FileStream fs = File.Open(@"F:\erjizhi.txt",FileMode.OpenOrCreate,FileAccess.Write);
            //StreamWriter writer = new StreamWriter(fs);
            byte[] buffer = Encoding.UTF8.GetBytes(str);
            //writer.WriteLine(buffer);
            //获取的是byte数组的最大长度
            fs.Write(buffer,0,buffer.Length);
            Console.WriteLine("OK");
            Console.ReadKey();
        }
    }
}

3.流写入  使用流的方式写入记事本

FileStream fs = File.Open(@"d:\mytxt.txt",FileMode.OpenOrCreate,FileAccess.Write);
            StreamWriter writer = new StreamWriter(fs);
            for (int i = 0; i < 100; i++)
            {
                writer.WriteLine("张三" + "|" +(3000+i));
            }
            #region 释放资源是必不可少的
            writer.Close();
            writer.Dispose();
            fs.Close();
            fs.Dispose();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值