现在的位置: 首页 > 综合 > 正文

文件操作的一系列方法

2013年05月28日 ⁄ 综合 ⁄ 共 4550字 ⁄ 字号 评论关闭

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace TextFile
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //我来创建目录
            //注意:Directory和file一样都是静态的方法,可以得到返回的值的
            //这个要切忌
            //创建一个根目录
            DirectoryInfo d=Directory.CreateDirectory("G://test");
            //创建一个根目录的子目录
               DirectoryInfo d1= d.CreateSubdirectory("test_1");
            //创建第一个根目录的在下一个子目录
            // ->: G://test//test_1//test_1_1
            DirectoryInfo d2 = d1.CreateSubdirectory("test_1_1");
            //切忌:不要忘记了设置当前的目录
            Directory.SetCurrentDirectory("G://test");
            //////////////////////////////////////////////////
            /////////////////////////////////////////////////
            //第二种方法创建根目录,直接用directory静态的方法直接创建
            //下面两个目录是评级的:特别要当心
            //->: G://test/test_2
            Directory.CreateDirectory("test_2");
            //->: G://test//test_2_1
            Directory.CreateDirectory("test_2_1");
            CopyDirectory("G://test//test_1","G://test//test_2");
        }
        /// <summary>
        /// 做一个文件复制功能:注意是文件复制既是文件夹
        /// </summary>
        /// <param name="soufile">源文件</param>
        /// <param name="targetfile">目标文件</param>
        public static void CopyDirectory(string soufile, string targetfile)
            {
                //要复制文件就要先得到目录
                 //我们说路径就相当于文件名字
                DirectoryInfo sou=new DirectoryInfo(soufile);
                  //////////////////////
            //////目标文件-把文件封装成文件目录
                DirectoryInfo target=new DirectoryInfo(targetfile);
                if(!sou.Exists)
                {
                    return;
                }
                if(!target.Exists)
                {
                     //如果目标文件也不存在则创建一个目标文件只要你给定路径
                    target.Create();
                    //得到源文件夹下的所有文件-文件封装成一个目录以便于复制
                    FileInfo[] source=sou.GetFiles();
                    int filecount=source.Length;
                    for(int i=0; i<filecount; ++i)
                    {
                            //注意:文件拷贝有三个参数
                        File.Copy(source[i].FullName,target.FullName+"//"+source[i].Name,true);

                    }
                    DirectoryInfo[] soufiles=sou.GetDirectories();
                      //等到源文件夹下的所有文件夹,上面是文件
                    for(int j=0; j<soufiles.Length; ++j)
                    {
                        CopyDirectory(source[j].FullName,target.FullName+"//"+soufiles[j].Name);
                    }
                }
            }

        private void button2_Click(object sender, EventArgs e)
        {
          StreamWriter sw=new StreamWriter("G://a.txt");
            sw.WriteLine("我开始写了");
            sw.Flush();
            sw.Close();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            FileStream fs=new FileStream("G://a.txt",FileMode.Create);
            StreamWriter sw=new StreamWriter(fs);
            sw.WriteLine("我开始写了");
            sw.Flush();
            sw.Close();

        }

        private void button4_Click(object sender, EventArgs e)
        {
            //不用文件流写,就用文件写,文件是一个静态类,返回的可以是一个文件流
           FileInfo fs=new FileInfo("G://a.txt");
            //利用文件的静态方法创建一个写文件的方法
              StreamWriter sw= fs.CreateText();
            sw.WriteLine("Hello Word");
            sw.Flush();
            sw.Close();
            //FileInfo fs=new FileInfo("G://a.txt");
            // StreamWriter =fs.CreateText();
            //sw.Write("Hello Word");
            //sw.Close();
            using (StreamWriter sw = File.AppendText("G://a.txt"))
            {
                sw.Write("OK");
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            FileStream fs = new FileStream("G://a.txt", FileMode.Open);
            StreamReader sr=new StreamReader(fs);
            sr.ReadLine();
        }
        public static void Read()
        {
            StreamReader sr=File.OpenText("G://a.txt");
            if(sr.Peek()>1)
            {
                sr.ReadLine();
            }
        }
        public static void ReadLine()
        {
           
            FileStream fs = File.OpenRead("G://a.txt");
            //返回一个字节数组信息,最后写书字节数组
            byte[] buf = new byte[fs.Length];
            fs.Read(buf, 0, buf.Length);
            string s = Encoding.Default.GetString(buf);   
        }
        public static void ReMove()
        {
            string oldFile;
            string NewFile;
            File.Copy(oldFile,NewFile);
            MessageBox.Show("转移成功!!");

        }
    }
}

抱歉!评论已关闭.