用C#实现对目录,文件的各种操作
本文实例主要是参考朱晔的《asp.net第一步》一书,全部代码均可用。Main()函数中的一些目录是我本机的目录,大家可以改一些。
全文通过新建一个类IOHelper实现如下功能:
1,读取驱动器信息
2,显示,创建以及删除目录
3,创建,显示以及删除文件
4,对文件进行读写操作。
基本用到的类有:DriveInfo, Directory,DirectoryInfo,FileInfo,FileStream,File,StreamReader,StreamWriter
using System;
using System.Collections.Generic;
using System.IO;
public class IOHelper
{
#region//列出驱动器信息
public void ListDrive()
{
DriveInfo[] drives=DriveInfo.GetDrives();
Console.WriteLine("驱动器名称\t类型\t格式\t空间大小\t可用空间");
foreach(DriveInfo di in drives)
{
//Console.WriteLine(string.Format("{0}\t\t{1}\t{2}\t{3}\t{4}",di.Name,di.DriveType,di.DriveFormat,di.TotalSize,di.TotalFreeSpace));
Console.WriteLine("{0}--{1}",di.Name,di.DriveType);
}
}
#endregion
#region//列出,创建,删除目录
public void ListFolder(string sDir)
{
if(Directory.Exists(sDir))
{
DirectoryInfo di=new DirectoryInfo(sDir);
Console.WriteLine("目录创建时间\t\t目录名");
foreach(DirectoryInfo dir in di.GetDirectories())
Console.WriteLine("{0}\t{1}",dir.CreationTime,dir.Name);
}
else
Console.WriteLine("{0}不存在",sDir);
}
public void CreateFolder(string sDir)
{
Directory.CreateDirectory(sDir);
Console.WriteLine("创建目录>>{0}",sDir);
}
public void DeleteFolder(string sDir)
{
if(Directory.Exists(sDir))
{
Directory.Delete(sDir);
Console.WriteLine(string.Format("删除目录>>{0}",sDir));
}
}
#endregion
#region //显示,创建,删除文件
public void ListFile(string sDir)
{
if(Directory.Exists(sDir))
{
//使用一个绝对路径初始化一个目录的对象使
DirectoryInfo di=new DirectoryInfo(sDir);
//遍历目录(不包括子目录)中的文件
Console.WriteLine(string.Format("文件创建时间\t\t文件名\t\t文件大小"));
foreach(FileInfo file in di.GetFiles())
Console.WriteLine("{0}\t{1}\t{2}",file.CreationTime,file.Name,file.Length);
}
else
Console.WriteLine("目录不存在{0}",sDir);
}
public void CreateFile(string sFile)
{
//获取一个文件流对象用于读写文件
FileStream fs=File.Create(sFile);
//获取一个指向文件的流编辑器
StreamWriter sw=new StreamWriter(fs);
//写入文本
sw.WriteLine("编程快乐!");
//关闭对象释放资源
sw.Close();
fs.Close();
Console.WriteLine(string.Format("创建文件>>{0}",sFile));
}
public void DeleteFile(string sFile)
{
if(File.Exists(sFile))
{
File.Delete(sFile);
Console.WriteLine("删除文件>>{0}",sFile);
}
}
#endregion
#region//对文件进行读写
public void ReadFile(string sFile)
{
if(File.Exists(sFile))
{
FileStream fs=File.OpenRead(sFile);
StreamReader sr=new StreamReader(fs);
string data=sr.ReadToEnd();
sr.Close();
fs.Close();
Console.WriteLine("读取文件>>{0}",sFile);
Console.WriteLine(data);
}
else
Console.WriteLine(string.Format("文件不存在{0}",sFile));
}
public void AppendFile(string sFile)
{
if(File.Exists(sFile))
{
StreamWriter sw=File.AppendText(sFile);
sw.WriteLine();
sw.Write("abcdndgf");
sw.Close();
Console.WriteLine("追加文件>>{0}",sFile);
}
else
Console.WriteLine(string.Format("{0}不存在",sFile));
}
#endregion
}
public class Program
{
public static void Main()
{
IOHelper test=new IOHelper();
//test.ListDrive();
//test.ListFolder(@"D:\test\c#");
//test.CreateFolder(@"D:\test\c#\base\IOTest");
//test.DeleteFolder(@"D:\test\c#\base\iohelper");
// test.ListFile(@"D:\test\c#\base\IOTest");
// test.CreateFile(@"D:\test\c#\base\IOTest\test.txt");
// test.DeleteFile(@"D:\test\c#\base\IOTest\1.txt");
test.AppendFile(@"D:\test\c#\base\IOTest\test.txt");
test.ReadFile(@"D:\test\c#\base\IOTest\test.txt");
Console.ReadLine();
}
}
希望大家可以交流,共同学习。
全文通过新建一个类IOHelper实现如下功能:
1,读取驱动器信息
2,显示,创建以及删除目录
3,创建,显示以及删除文件
4,对文件进行读写操作。
基本用到的类有:DriveInfo, Directory,DirectoryInfo,FileInfo,FileStream,File,StreamReader,StreamWriter
using System;
using System.Collections.Generic;
using System.IO;
public class IOHelper
{
#region//列出驱动器信息
public void ListDrive()
{
DriveInfo[] drives=DriveInfo.GetDrives();
Console.WriteLine("驱动器名称\t类型\t格式\t空间大小\t可用空间");
foreach(DriveInfo di in drives)
{
//Console.WriteLine(string.Format("{0}\t\t{1}\t{2}\t{3}\t{4}",di.Name,di.DriveType,di.DriveFormat,di.TotalSize,di.TotalFreeSpace));
Console.WriteLine("{0}--{1}",di.Name,di.DriveType);
}
}
#endregion
#region//列出,创建,删除目录
public void ListFolder(string sDir)
{
if(Directory.Exists(sDir))
{
DirectoryInfo di=new DirectoryInfo(sDir);
Console.WriteLine("目录创建时间\t\t目录名");
foreach(DirectoryInfo dir in di.GetDirectories())
Console.WriteLine("{0}\t{1}",dir.CreationTime,dir.Name);
}
else
Console.WriteLine("{0}不存在",sDir);
}
public void CreateFolder(string sDir)
{
Directory.CreateDirectory(sDir);
Console.WriteLine("创建目录>>{0}",sDir);
}
public void DeleteFolder(string sDir)
{
if(Directory.Exists(sDir))
{
Directory.Delete(sDir);
Console.WriteLine(string.Format("删除目录>>{0}",sDir));
}
}
#endregion
#region //显示,创建,删除文件
public void ListFile(string sDir)
{
if(Directory.Exists(sDir))
{
//使用一个绝对路径初始化一个目录的对象使
DirectoryInfo di=new DirectoryInfo(sDir);
//遍历目录(不包括子目录)中的文件
Console.WriteLine(string.Format("文件创建时间\t\t文件名\t\t文件大小"));
foreach(FileInfo file in di.GetFiles())
Console.WriteLine("{0}\t{1}\t{2}",file.CreationTime,file.Name,file.Length);
}
else
Console.WriteLine("目录不存在{0}",sDir);
}
public void CreateFile(string sFile)
{
//获取一个文件流对象用于读写文件
FileStream fs=File.Create(sFile);
//获取一个指向文件的流编辑器
StreamWriter sw=new StreamWriter(fs);
//写入文本
sw.WriteLine("编程快乐!");
//关闭对象释放资源
sw.Close();
fs.Close();
Console.WriteLine(string.Format("创建文件>>{0}",sFile));
}
public void DeleteFile(string sFile)
{
if(File.Exists(sFile))
{
File.Delete(sFile);
Console.WriteLine("删除文件>>{0}",sFile);
}
}
#endregion
#region//对文件进行读写
public void ReadFile(string sFile)
{
if(File.Exists(sFile))
{
FileStream fs=File.OpenRead(sFile);
StreamReader sr=new StreamReader(fs);
string data=sr.ReadToEnd();
sr.Close();
fs.Close();
Console.WriteLine("读取文件>>{0}",sFile);
Console.WriteLine(data);
}
else
Console.WriteLine(string.Format("文件不存在{0}",sFile));
}
public void AppendFile(string sFile)
{
if(File.Exists(sFile))
{
StreamWriter sw=File.AppendText(sFile);
sw.WriteLine();
sw.Write("abcdndgf");
sw.Close();
Console.WriteLine("追加文件>>{0}",sFile);
}
else
Console.WriteLine(string.Format("{0}不存在",sFile));
}
#endregion
}
public class Program
{
public static void Main()
{
IOHelper test=new IOHelper();
//test.ListDrive();
//test.ListFolder(@"D:\test\c#");
//test.CreateFolder(@"D:\test\c#\base\IOTest");
//test.DeleteFolder(@"D:\test\c#\base\iohelper");
// test.ListFile(@"D:\test\c#\base\IOTest");
// test.CreateFile(@"D:\test\c#\base\IOTest\test.txt");
// test.DeleteFile(@"D:\test\c#\base\IOTest\1.txt");
test.AppendFile(@"D:\test\c#\base\IOTest\test.txt");
test.ReadFile(@"D:\test\c#\base\IOTest\test.txt");
Console.ReadLine();
}
}
希望大家可以交流,共同学习。
努力不一定成功,但放弃一定失败!