zoukankan      html  css  js  c++  java
  • IO操作

    /// <summary>
     /// 文件读写操作/// </summary>
     public partial class TestIO : DevComponents.DotNetBar.Office2007Form
     {
         public TestIO()
         {
             InitializeComponent();
         }
      
         /// <summary>
         /// 创建文件
         /// </summary>
         private void btnCreateFile_Click(object sender, EventArgs e)
         {
             string path = Application.StartupPath + @"Test.txt";
             FileStream fs = new FileStream(path, FileMode.Create);
             StreamWriter sw = new StreamWriter(fs);
             sw.WriteLine("This is a test file.");
             sw.WriteLine("This is second line.");
             sw.Close();
             fs.Close();
      
             // 也可以这样创建 StreamWriter
             // StreamWriter sw = File.CreateText(path);
         }
      
         /// <summary>
         /// 读取文件
         /// </summary>
         private void btnReadFile_Click(object sender, EventArgs e)
         {
             string path = Application.StartupPath + "\Test.txt";
             textBoxX1.Text = string.Empty;
             if (File.Exists(path))
             {
                 FileStream fs = new FileStream(path, FileMode.Open);
                 StreamReader sr = new StreamReader(fs);
                 // 也可以这样创建 StreamReader
                 // File.OpenText(path);
                 string str = string.Empty;
                 while (true)
                 {
                     str = sr.ReadLine();
                     if (!string.IsNullOrEmpty(str))
                     {
                         textBoxX1.Text += str + "
    ";
                     }
                     else
                     {
                         sr.Close();
                         fs.Close();
                         break;
                     }
                 }
             }
             else
             {
                 MessageBox.Show("指定的路径下不存在此文件!");
             }
         }
      
         /// <summary>
         /// 追加文件内容
         /// </summary>
         private void btnAppendFile_Click(object sender, EventArgs e)
         {
             string path = Application.StartupPath + "\Test.txt";
             FileStream fs = new FileStream(path, FileMode.Append);
             StreamWriter sw = new StreamWriter(fs);
             // 也可以这样创建 StreamReader
             // StreamWriter sw = File.AppendText(path);
             sw.WriteLine("This is three line.");
             sw.Close();
             fs.Close();
         }
      
         /// <summary>
         /// 复制文件
         /// </summary>
         private void btnCopyFile_Click(object sender, EventArgs e)
         {
             string oldPath = Application.StartupPath + "\Test.txt";
             string newPath = Application.StartupPath + "\TestClone.txt";
             File.Copy(oldPath, newPath);
         }
      
         /// <summary>
         /// 删除文件
         /// </summary>
         private void btnDeleteFile_Click(object sender, EventArgs e)
         {
             string path = Application.StartupPath + "\TestClone.txt";
             File.Delete(path);
         }
      
      
         /// <summary>
         /// 移动文件
         /// </summary>
         private void btnMoveFile_Click(object sender, EventArgs e)
         {
             string oldPath = Application.StartupPath + "\Test.txt";
             // 移动文件的同时也可以使用新的文件名
             string newPath = "d:\NewTest.txt";
             File.Move(oldPath, newPath);
         }
      
         /// <summary>
         /// 创建目录
         /// </summary>
         private void btnCreateDirectory_Click(object sender, EventArgs e)
         {
             string path1 = "d:\Jason1";
             // 创建目录 Jason1
             DirectoryInfo dDepth1 = Directory.CreateDirectory(path1);
             // dDepth2 指向 dDepth1 创建的子目录 Jason2
             DirectoryInfo dDepth2 = dDepth1.CreateSubdirectory("Jason2");
             // 设置应用程序当前的工作目录为 dDepth2 指向的目录
             Directory.SetCurrentDirectory(dDepth2.FullName);
             // 在当前目录创建目录 Jason3
             Directory.CreateDirectory("Jason3");
         }
      
         private void btnDeleteDirectory_Click(object sender, EventArgs e)
         {
             string path = "d:\Jason1";
             DeleteDirectory(path);
         }
      
         /// <summary>
         /// 删除目录及其所有子目录,文件
         /// </summary>
         private static void DeleteDirectory(string path)
         {
             if (Directory.Exists(path))
             {
                 foreach (string str in Directory.GetFileSystemEntries(path))
                 {
                     if (File.Exists(str))
                     {
                         File.Delete(str);
                     }
                     else
                     {
                         DeleteDirectory(str);
                     }
                 }
                 Directory.Delete(path);
             }
             else
             {
                 MessageBox.Show("该目录不存在!");
             }
         }
      
         private void btnCopyDirectory_Click(object sender, EventArgs e)
         {
             string sourcePath = "d:\Jason1";
             string targetPath = "d:\Jason2";
             CopyDirectory(sourcePath, targetPath);
         }
      
         /// <summary>
         /// 复制目录及其所有内容
         /// </summary>
         /// <param name="sourcePath">源目录</param>
         /// <param name="targetPath">目标目录</param>
         private void CopyDirectory(string sourcePath, string targetPath)
         {
             // 该字符用于在反映分层文件系统组织的路径字符串中分隔目录级别(msdn)
             // 在windows系统下实质上是为目录路径加上"\"
             if (targetPath[targetPath.Length - 1] != Path.DirectorySeparatorChar)
             {
                 targetPath += Path.DirectorySeparatorChar;
             }
             // 目标目录不存在则创建之
             if (!Directory.Exists(targetPath))
             {
                 Directory.CreateDirectory(targetPath);
             }
             // 获取文件系统(含目录和文件)
             string[] fileList = Directory.GetFileSystemEntries(sourcePath);
             foreach (string fileName in fileList)
             {
                 if (Directory.Exists(fileName))
                 {
                     // Path.GetFileName(fileName) 可取出最后一个分级目录名或文件名
                     CopyDirectory(fileName, targetPath + Path.GetFileName(fileName));
                 }
                 else
                 {
                     // true 为可覆盖
                     File.Copy(fileName, targetPath + Path.GetFileName(fileName), true);
                 }
             }
         }
     }
  • 相关阅读:
    解决使用git出现 The file will have its original line endings in your working directory
    SpringBoot集成flowable碰见DMN不能初始化
    CF268D Wall Bars
    CF1327F AND Segments
    P2900 [USACO08MAR]Land Acquisition G
    CF279B Books
    CF859E Desk Disorder
    CF1147B Chladni Figure
    CF1147E Rainbow Coins
    P3565 [POI2014]HOT-Hotels
  • 原文地址:https://www.cnblogs.com/greyhh/p/4763353.html
Copyright © 2011-2022 走看看