黑马程序员-C#学习-文件操作

来源:互联网 发布:项目管理优化保障措施 编辑:程序博客网 时间:2024/06/05 20:23
1 copy复制文件
   Exists文件是否存在
   fileter 过滤器
   showdialog 显示对话框
   复制文件
             string dePath=@"f:\test002\testtt.txt";
            //判断文件是否已经存在
            if (File.Exists(dePath))
            {
                if (MessageBox.Show("目标文件已存在是否覆盖", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                    == DialogResult.Yes)
                {
                    File.Copy(@"f:\test001\test.txt", dePath, true);
                    MessageBox.Show("文件已经覆盖");
                }
            }
            else
            {
                File.Copy(@"f:\test001\test.txt",dePath,true);
                MessageBox.Show("文件已经创建");
            }
2 选择文件过滤器
            openFileDialog1.InitialDirectory = "f:\\test002";
            openFileDialog1.Filter = "可执行程序|*.exe|Excel文件|*.xlsx|所有文件|*.*";//过滤器
            saveFileDialog1.Filter = "可执行程序|*.exe|Excel文件|*.xlsx|所有文件|*.*";
            //复制多个文件,显示打开对话框,如果为OK点击打开
            if(openFileDialog1.ShowDialog()==DialogResult .OK)
            {
            //点击打开
               if( saveFileDialog1 .ShowDialog ()==DialogResult .OK )
               {
               File.Copy (openFileDialog1 .FileName ,saveFileDialog1 .FileName ,true );
               }
            }
            MessageBox.Show(openFileDialog1 .FileName);
            directory 复制文件夹
            string sf, df;
            FolderBrowserDialog openfolder = new FolderBrowserDialog();
            openfolder .Description ="请选择要复制的文件夹";
            if (openfolder.ShowDialog() == DialogResult.OK)
            {
                sf = openfolder.SelectedPath;
                openfolder.Description = "选中要复制的文件夹";
                if (openfolder.ShowDialog() == DialogResult.OK)
                {
                    df = openfolder.SelectedPath;
                    //得到文件夹中的所有文件
                    string[] s=  Directory.GetFiles(sf);
                    foreach (string filepath in s)
                    {
                        string dfs = filepath.Substring(filepath.LastIndexOf("\\")+1);
                        File.Copy(filepath ,df+"\\"+dfs,true);
                    }
                }
                MessageBox.Show(openfolder .SelectedPath);
            }
3 文件操作,fs创建桥梁 sr操作
  读文件 五步:1实例化一个文件流对象filestream
  2创建读写器 StreamReader
  3读取 ReadLine
  4关闭读取器 
  5关闭文件流对象
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "打开文件";
            ofd.Filter = "文本文件|*.txt|所有文件|*.*";
            if (ofd.ShowDialog() == DialogResult.OK)
            { 
            //点击打开按钮读入文件
                //创建文件流(对象),文件名,操作打开写入,读取,是否与别人共享访问
                FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read, FileShare.None);
                //创建读取器//Encoding处理乱码
                StreamReader sr = new StreamReader(fs);
                //while(!sr.EndOfStream)
                //{
                //   this.tb.Text = sr.ReadLine();//读取一行
                //}
               this.tb.Text =sr.ReadToEnd();//读取到最后
                //关闭读取器
                sr.Close();
                //关闭文件流
                fs.Close();
            }
4写一个文件
  1声明一个流对象 Filestream
  2创建读写器 StreamWriter
  3写入操作 Write方法或Writeline方法
  4 关闭写入器
  5关闭流
           SaveFileDialog sfd = new SaveFileDialog();
            sfd.Title ="要保存的文件夹";
            sfd.Filter ="文本文件|*.txt|所有文件|*.*";
            FileStream fs = new FileStream(sfd.FileName, FileMode.Create, FileAccess.Write);
            StreamWriter sw = new StreamWriter(fs);
            sw.Close();
            fs.Close();
0 0
原创粉丝点击