黑马程序员技术交流社区
标题:
文件夹的相关操作总结((File,Directory,StreamReader,StreamWrite )
[打印本页]
作者:
爱吃桃子的猫
时间:
2014-5-4 15:25
标题:
文件夹的相关操作总结((File,Directory,StreamReader,StreamWrite )
本帖最后由 爱吃桃子的猫 于 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);
}
}
复制代码
四
总结
对于文件夹的操作一直处于一知半解状态
,最近查了下资料,整理了一下文件夹操作涉及的几个类的使用方法,也是扫了下自己的盲区,如有更好的建议或方法,请指出。加油!
作者:
小狸
时间:
2014-5-4 15:28
学习学习
作者:
爱吃桃子的猫
时间:
2014-5-5 13:47
小狸 发表于 2014-5-4 15:28
学习学习
相互学习
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2