A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 爱吃桃子的猫 于 2014-5-4 15:25 编辑


一 基本介绍
    操作文档,文件夹,需要用到的类
    1 Directory(静态类) :于创建、移动和删除等操作通过目录和子目录
      DirectoryInfo(非静态):
    2 File(静态类):提供用于创建、复制、删除、移动和打开文件的静态类,并协助创建 FileStream 对象   
      FileInfo(非静态)
    3 StreamReader:实现一个 TextReader,使其以一种特定的编码从字节流中读取字符
      StreamWriter:实现一个 TextWriter,使其以一种特定的编码向流中写入字符
二   文件夹操作
  操作文件夹用Directory 或者 DirectoryInfo
  2.1 创建文件夹

  1. string path = @"F:\TestFile";
  2. public void CreatFolder(string path)
  3. {
  4. if (Directory.Exists(path))
  5. {
  6. Directory.Delete(path);
  7. }
  8. Directory.CreateDirectory(path);
  9. }
复制代码
   2.2 删除文件夹
  1. string path = @"F:\TestFile";
  2. public void DeleteFolder(string path)
  3. {
  4. //先删除文件夹中所有文件
  5. DirectoryInfo directoryInfo = new DirectoryInfo(path);
  6. foreach (var directory in directoryInfo.GetFiles())
  7. {
  8. File.Delete(directory.FullName);
  9. }
  10. //文件夹必须为空
  11. if (Directory.Exists(path))
  12. {
  13. Directory.Delete(path);
  14. }
  15. }
复制代码
   2.3 移动文件夹
  1. string path = @"F:\TestFile";
  2. string newPath = @"F:\NewFile";
  3. public void MoveFolder(string path, string newPath)
  4. {
  5. if (Directory.Exists(path))
  6. {
  7. //移动包括文件夹在内的所有文件
  8. Directory.Move(path,newPath);
  9. }
  10. }
复制代码
    2.4 获取文件夹下所有文件名
  1. string path = @"F:\TestFile";
  2. public void GetFolderAllFiles(string path)
  3. {
  4. DirectoryInfo directory = new DirectoryInfo(path);
  5. var files = directory.GetFiles();
  6. foreach (var file in files)
  7. {
  8. Console.WriteLine(file.Name);
  9. Console.WriteLine(file.FullName);
  10. //带文件路径全名
  11. }
  12. }
复制代码
三 文档操作(txt)
  需要以下几个类:Directory 或者DirectoryInfo ,File 或者 FileInfo
   3.1 创建文档

  1. string path = @"F:\TestFile\test.txt";
  2. public void CreateFile(string path)
  3. {
  4. //文件路径用Directory判断是否存在
  5. if (Directory.Exists(path))
  6. {
  7. //先删除存在的文件
  8. if (File.Exists(path))
  9. {
  10. File.Delete(path);
  11. }
  12. File.Create(path);
  13. }
  14. }
复制代码
   3.2 复制文档
  1. string path = @"E:\TestFile\test.txt";
  2. string newPath = @"E:\Test2File\newTest.txt";
  3. public void CopyFile(string sourcePath, string destPath)
  4. { //只能针对同一卷轴(盘)下的文件
  5. //destPath 为要复制的新地址,(destPath指定的文件名必须是未创建的,执行Copy方法时才会创建该文件)
  6. if (File.Exists(sourcePath))
  7. { File.Copy(sourcePath, destPath);
  8. }
  9. }
复制代码
   3.3  移动文档
  1. string path = @"E:\TestFile\test.txt";
  2. string newPath = @"E:\Test2File\newTest.txt";

  3. public void MoveFile(string SourcePath, string destPath)
  4. {
  5. //只能针对同一卷轴(盘)下的文件
  6. //destPath 为要移动的新地址(destPath指定的文件名必须是未创建的,执行Move方法时会将Source文件移动到新地址可以重新命名) if (File.Exists(SourcePath))
  7. {
  8. File.Move(SourcePath, destPath);
  9. }
  10. }
复制代码
3.4  删除文档
  1. string path = @"E:\TestFile\test.txt";
  2. public void DeleteFile(string path)
  3. {
  4. if (File.Exists(path))
  5. {
  6. File.Delete(path);
  7. }
  8. }
复制代码
总结
      对于文件夹的操作一直处于一知半解状态
,最近查了下资料,整理了一下文件夹操作涉及的几个类的使用方法,也是扫了下自己的盲区,如有更好的建议或方法,请指出。加油!

点评

不错,继续加油。。  发表于 2014-5-5 14:15

4 个回复

倒序浏览
学习学习

点评

相互学习。  发表于 2014-5-5 21:35
回复 使用道具 举报

相互学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马