使用DriveInfo类获取驱动器信息
常用方法:
static GetDrives--获取所有逻辑驱动器名称
AvailableFreeSpace--驱动器上的可用空闲空间量。(当前用户)
TotalFreeSpace-- 驱动器上的可用空闲空间总量。(所有空间)
DriveFormat-- 获取文件系统名称。(NTFS、FAT32)
DriveType--驱动器类型
TotalSize -- 驱动器上存储空间的总大小
VolumeLabel -- 获取或设置驱动器的卷标。
eg:
DriveInfo info = new DriveInfo("c:");
this.Response.Write(info.DriveType.ToString() + "<br/>");
this.Response.Write(info.DriveFormat.ToString() + "<br/>");
this.Response.Write(info.AvailableFreeSpace.ToString() + "<br/>");
this.Response.Write(info.TotalFreeSpace.ToString() + "<br/>");
this.Response.Write("----------------------------<br/>");
Directory类和DirectoryInfo类
Directory类公开用于创建、移动和枚举通过目录和子目录的静态方法
Directory.CreateDirectory("d:\\" + 文件名称);
DirectoryInfo类公开用于创建、移动和枚举目录和子目录的实例方法
DirectoryInfo info = new DirectoryInfo(文件名称);
info.Delete(true);
File类和FileInfo类
File类提供用于创建、复制、删除、移动和打开文件的静态方法
File.Copy("d:\\eula.1028.txt", "c:\\aa.txt");
FileInfo类提供创建、复制、删除、移动和打开文件的实例方法
FileInfo info = new FileInfo("d:\\eula.1028.txt");
info.MoveTo("d:\\abc.txt");//已知的目录移动
读写文件
文本文件:
StreamReader类,以一种特定的编码从字节流中读取字符。
string filename = Server.MapPath("~/") + this.TextBox2.Text;
FileStream fs = new FileStream(filename, FileMode.Open,
FileAccess.Read, FileShare.Read);
StreamReader sr = new StreamReader(fs);
this.TextBox1.Text = sr.ReadToEnd();
sr.Close();
fs.Close();
StreamWriter类,以一种特定的编码向流中写入字符。
string filename = Server.MapPath("~/") + this.TextBox2.Text;
FileStream fs = new FileStream(filename, FileMode.Create,
FileAccess.Write, FileShare.None);
StreamWriter sw = new StreamWriter(fs);
sw.Write(this.TextBox1.Text);
sw.Flush();
sw.Close();
fs.Close();
FileStream类,文件操作基础类,支持同步读写操作,也支持异步读写操作。
string filename = Server.MapPath("~/") + this.TextBox2.Text;
FileStream fs = new FileStream(filename, FileMode.Create,
FileAccess.Write, FileShare.None);
BinaryWriter bw = new BinaryWriter(fs);
string[] data = this.TextBox1.Text.Split(new string[] { " " },
StringSplitOptions.RemoveEmptyEntries);
foreach (string str in data)
{
bw.Write(Convert.ToInt32(str));
}
bw.Close();
fs.Close();
二进制文件:
BinaryReader类,用特定的编码将基元数据类型读作二进制值。
string filename = Server.MapPath("~/") + this.TextBox2.Text;
FileStream fs = new FileStream(filename, FileMode.Open,
FileAccess.Read, FileShare.None);
BinaryReader br = new BinaryReader(fs);
long nums = br.BaseStream.Length / 4;
for (long i = 0; i < nums; i++)
{
this.TextBox1.Text += br.ReadInt32().ToString() + " ";
}
br.Close();
fs.Close();
BinaryWriter类,以二进制形式将基元类型写入流,并支持用特定的编码写入字符串。
string filename = Server.MapPath("~/") + this.TextBox2.Text;
FileStream fs = new FileStream(filename, FileMode.Create,
FileAccess.Write, FileShare.None);
BinaryWriter bw = new BinaryWriter(fs);
string[] data = this.TextBox1.Text.Split(new string[] { " " },
StringSplitOptions.RemoveEmptyEntries);
foreach (string str in data)
{
bw.Write(Convert.ToInt32(str));
}
bw.Close();
fs.Close();