zoukankan      html  css  js  c++  java
  • C#文件操作

    文件操作

    File类,FileInfo类.using System.IO命名空间
    (一)创建

    方法一:

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void CreateFile_Click(object sender, EventArgs e)
    3         {
    4             FileStream fs = File.Create(path);
    5             fs.Close();//返回FileStream必须释放流
    6         }
    复制代码

    方法二:

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void CreateFile_Click(object sender, EventArgs e)
    3         {            
    4             FileInfo CreateFile = new FileInfo(path);
    5             FileStream stream = CreateFile.Create();
    6             stream.Close();//返回FileStream类型必须释放流
    7         }
    复制代码

    (二)删除

    方法一:

    1         private string path = @"F:Textaaa.txt";
    2         private void DeleteFile_Click(object sender, EventArgs e)
    3         {
    4             File.Delete(path);
    5         }

    方法二:

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void DeleteFile_Click(object sender, EventArgs e)
    3         {           
    4             FileInfo DeleteFile = new FileInfo(path);
    5             DeleteFile.Delete();
    6         }
    复制代码

    (三)是否存在

    方法一:

    复制代码
     1         private string path = @"F:Textaaa.txt";
     2         private void ExistFile_Click(object sender, EventArgs e)
     3         {
     4              bool ex = File.Exists(path);            
     5              if (ex)
     6              {
     7                  MessageBox.Show("存在");
     8              }
     9              else
    10              {
    11                  MessageBox.Show("不存在");
    12              }
    13         }
    复制代码

    方法二:

    复制代码
     1         private string path = @"F:Textaaa.txt";
     2         private void ExistFile_Click(object sender, EventArgs e)
     3         {            
     4              FileInfo ExistFile = new FileInfo(path);
     5              bool ex = ExistFile.Exists;
     6              if (ex)
     7              {
     8                  MessageBox.Show("存在");
     9              }
    10              else
    11              {
    12                  MessageBox.Show("不存在");
    13              }
    14         }
    复制代码

    (四)复制---不能跨盘符

    方法一:

    1         private string path = @"F:Textaaa.txt";
    2         private void CopyFile_Click(object sender, EventArgs e)
    3         {
    4             File.Copy(path, @"F:Textbb.txt");//复制的同时里面的内容也和复制
    5         }

    方法二:

    1  private void CopyFile_Click(object sender, EventArgs e)
    2         {          
    3             FileInfo CopyFile = new FileInfo(path);
    4             CopyFile.CopyTo(@"F:Textbb.txt"); //复制的同时里面的内容也和复制
    5         }

    (五)移动(改名)---不能跨盘符

    注:Move()或MoveTo(): 1.路径不同名字相同(相当于--剪切),

              2.路径不同名字不同(相当于--剪切+重命名),

              3.路径相同名字不同(相当于--重命名).

     且移动是同时将文件夹内的所有对象,移动.

    方法一:

    1         private string path = @"F:Textaaa.txt";
    2         private void MoveFile_Click(object sender, EventArgs e)
    3         {
    4             File.Move(path, @"F:Testbb.txt");            
    5         }

    方法二:

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void MoveFile_Click(object sender, EventArgs e)
    3         {           
    4             FileInfo MoveFIle = new FileInfo(path);
    5             MoveFIle.MoveTo(@"F:Testccc.txt");
    6         }
    复制代码

    (六)获得文件名

    注:只有FileInfo()类一种方法

      1.只获取文件名(貌似没什么用--下面show()的内容就是aaa.txt)

         

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void FileName_Click(object sender, EventArgs e)
    3         {
    4             FileInfo FileName = new FileInfo(path);
    5             string name = FileName.Name;
    6             MessageBox.Show(name);
    7         }
    复制代码

      2.或取文件全名(包括路径)

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void FileName_Click(object sender, EventArgs e)
    3         {            
    4             FileInfo FileName = new FileInfo(path);
    5             string name = FileName.FullName;
    6             MessageBox.Show(name);
    7         }
    复制代码

    (七)获得扩展名

    注:只有FileInfo()类一种方法

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void ExtensionName_Click(object sender, EventArgs e)
    3         {
    4             FileInfo ExtensionName = new FileInfo(path);
    5             string exname = ExtensionName.Extension;
    6             MessageBox.Show(exname);
    7         }
    复制代码

    (八)获取辅助属性

    注:只有File()类一种方法

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void GetAttribute_Click(object sender, EventArgs e)
    3         {
    4             FileAttributes Attributes = File.GetAttributes(path);
    5             DateTime CreateTime = File.GetCreationTime(path);
    6             DateTime LastAccessTime = File.GetLastAccessTime(path);
    7             DateTime GetLastWriteTime =  File.GetLastWriteTime(path);
    8             MessageBox.Show(Attributes.ToString()+"
    "+CreateTime.ToString()+"
    "+LastAccessTime.ToString()+"
    "+GetLastWriteTime.ToString());
    9         }
    复制代码

    (九)修改辅助属性

    注:只有File()类一种方法

    复制代码
            private string path = @"F:Textaaa.txt";
            private void button1_Click(object sender, EventArgs e)
            {
                FileAttributes Attributes = new FileAttributes();
                Attributes = FileAttributes.Hidden;
                File.SetAttributes(path, Attributes);
                File.SetCreationTime(path, DateTime.Now);
                File.SetLastAccessTime(path, DateTime.Now);
                File.SetLastWriteTime(path, DateTime.Now);
            }
    复制代码

    (十)打开保存

      文件读写

    注:所有打开new一个新类之后先写 类名.close()

      FileStream类:比较通用。

        打开

    复制代码
     1         private string path = @"F:Textaaa.txt";
     2         private void Open_Stream_Click(object sender, EventArgs e)
     3         {
     4             FileStream stream = new FileStream(path, FileMode.Open);//读出的数据是以二进制代码形式存储
     5             byte[] nr = new byte[stream.Length];
     6             stream.Read(nr,0,nr.Length);
     7             stream.Close();
     8             //把byte[]的内容变成字符串放在文本框中。
     9             string s = System.Text.Encoding.Default.GetString(nr);
    10             textBox1.Text = s;
    11         }
    复制代码

        保存

    复制代码
     1         private string path = @"F:Textaaa.txt";
     2         private void Save_Stream_Click(object sender, EventArgs e)
     3         {
     4             //把文本框的字符串变成二进制数组
     5             byte[] nr = System.Text.Encoding.Default.GetBytes(textBox1.Text);
     6             //送到文件中去
     7             FileStream stream = new FileStream(path, FileMode.OpenOrCreate);
     8             stream.Write(nr, 0, nr.Length);
     9             stream.Close();
    10         }
    复制代码

      StreamReader类:

        打开

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void Open_Reader_Click(object sender, EventArgs e)
    3         {
    4             StreamReader reader = new StreamReader(path, Encoding.Default);
    5             string s = reader.ReadToEnd();
    6             reader.Close();
    7             textBox1.Text = "";
    8             textBox1.Text = s;
    9         }
    复制代码

    复制代码
     1         private string path = @"F:Textaaa.txt";
     2         private void Open_Writer_Click(object sender, EventArgs e)
     3         {
     4             FileStream stream = new FileStream(path, FileMode.Open);
     5             StreamReader reader = new StreamReader(stream, Encoding.Default);
     6             string s = reader.ReadToEnd();
     7             reader.Close();
     8             stream.Close();
     9             textBox1.Text = s;
    10         }
    复制代码

      StreamWriter类:

    复制代码
    1         private string path = @"F:Textaaa.txt";
    2         private void Save_Writer_Click(object sender, EventArgs e)
    3         {
    4             StreamWriter writer = new StreamWriter(path, false, Encoding.Default);
    5             writer.WriteLine(textBox1.Text);
    6             writer.Close();
    7         }
    复制代码

    复制代码
     1        private string path = @"F:Textaaa.txt";
     2        private void Save_Writer_Click(object sender, EventArgs e)
     3        {
     4            FileStream stream = new FileStream(path, FileMode.OpenOrCreate);
     5            StreamWriter writer = new StreamWriter(stream);
     6            writer.WriteLine(textBox1.Text);
     7            writer.Close();
     8            stream.Close();
     9        }
    10     
    复制代码
  • 相关阅读:
    LeetCode偶尔一题 —— 617. 合并二叉树
    《剑指offer》 —— 链表中倒数第k个节点
    《剑指offer》 —— 青蛙跳台阶问题
    《剑指offer》—— 二维数组中的查找
    《剑指offer》—— 替换空格
    《剑指offer》—— 合并两个排序的链表
    《剑指offer》—— 礼物的最大价值
    生成Nuget 源代码包来重用你的Asp.net MVC代码
    Pro ASP.Net Core MVC 6th 第四章
    Pro ASP.NET Core MVC 6th 第三章
  • 原文地址:https://www.cnblogs.com/IT1517/p/4768336.html
Copyright © 2011-2022 走看看