本帖最后由 爱吃桃子的猫 于 2014-5-4 15:25 编辑
一 基本介绍
操作文档,文件夹,需要用到的类
1 Directory(静态类) :用于创建、移动和删除等操作通过目录和子目录
DirectoryInfo(非静态):
2 File(静态类):提供用于创建、复制、删除、移动和打开文件的静态类,并协助创建 FileStream 对象
FileInfo(非静态)
3 StreamReader:实现一个 TextReader,使其以一种特定的编码从字节流中读取字符
StreamWriter:实现一个 TextWriter,使其以一种特定的编码向流中写入字符
二 文件夹操作
操作文件夹用Directory 或者 DirectoryInfo
2.1 创建文件夹
- string path = @"F:\TestFile";
- public void CreatFolder(string path)
- {
- if (Directory.Exists(path))
- {
- Directory.Delete(path);
- }
- Directory.CreateDirectory(path);
- }
复制代码 2.2 删除文件夹
- string path = @"F:\TestFile";
- public void DeleteFolder(string path)
- {
- //先删除文件夹中所有文件
- DirectoryInfo directoryInfo = new DirectoryInfo(path);
- foreach (var directory in directoryInfo.GetFiles())
- {
- File.Delete(directory.FullName);
- }
- //文件夹必须为空
- if (Directory.Exists(path))
- {
- Directory.Delete(path);
- }
- }
复制代码 2.3 移动文件夹
- string path = @"F:\TestFile";
- string newPath = @"F:\NewFile";
- public void MoveFolder(string path, string newPath)
- {
- if (Directory.Exists(path))
- {
- //移动包括文件夹在内的所有文件
- Directory.Move(path,newPath);
- }
- }
复制代码 2.4 获取文件夹下所有文件名
- string path = @"F:\TestFile";
- public void GetFolderAllFiles(string path)
- {
- DirectoryInfo directory = new DirectoryInfo(path);
- var files = directory.GetFiles();
- foreach (var file in files)
- {
- Console.WriteLine(file.Name);
- Console.WriteLine(file.FullName);
- //带文件路径全名
- }
- }
复制代码 三 文档操作(txt)
需要以下几个类:Directory 或者DirectoryInfo ,File 或者 FileInfo
3.1 创建文档
- string path = @"F:\TestFile\test.txt";
- public void CreateFile(string path)
- {
- //文件路径用Directory判断是否存在
- if (Directory.Exists(path))
- {
- //先删除存在的文件
- if (File.Exists(path))
- {
- File.Delete(path);
- }
- File.Create(path);
- }
- }
复制代码 3.2 复制文档
- string path = @"E:\TestFile\test.txt";
- string newPath = @"E:\Test2File\newTest.txt";
- public void CopyFile(string sourcePath, string destPath)
- { //只能针对同一卷轴(盘)下的文件
- //destPath 为要复制的新地址,(destPath指定的文件名必须是未创建的,执行Copy方法时才会创建该文件)
- if (File.Exists(sourcePath))
- { File.Copy(sourcePath, destPath);
- }
- }
复制代码 3.3 移动文档
- string path = @"E:\TestFile\test.txt";
- string newPath = @"E:\Test2File\newTest.txt";
- public void MoveFile(string SourcePath, string destPath)
- {
- //只能针对同一卷轴(盘)下的文件
- //destPath 为要移动的新地址(destPath指定的文件名必须是未创建的,执行Move方法时会将Source文件移动到新地址可以重新命名) if (File.Exists(SourcePath))
- {
- File.Move(SourcePath, destPath);
- }
- }
复制代码 3.4 删除文档
- string path = @"E:\TestFile\test.txt";
- public void DeleteFile(string path)
- {
- if (File.Exists(path))
- {
- File.Delete(path);
- }
- }
复制代码 四总结
对于文件夹的操作一直处于一知半解状态 ,最近查了下资料,整理了一下文件夹操作涉及的几个类的使用方法,也是扫了下自己的盲区,如有更好的建议或方法,请指出。加油!
|