请教 在写文件前,如何比较要写文件大小与硬盘剩余空间的大小 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //磁盘空间using System.Management;public ulong GetDiskSpace(){ ManagementClass diskClass =new ManagementClass("Win32_LogicalDisk"); ManagementObjectCollection disks = diskClass.GetInstances(); ulong space=0; foreach(ManagementObject disk in disks) { if(disk["Name"].ToString() == "C:") { space = (ulong)disk["FreeSpace"]; } } return space;}文件大小FileInfo f = new FileInfo(filename);f.Length System.Managementusing System.Management;public ulong GetDiskSpace(){ ManagementClass diskClass =new ManagementClass("Win32_LogicalDisk"); ManagementObjectCollection disks = diskClass.GetInstances(); ulong space=0; foreach(ManagementObject disk in disks) { if(disk["Name"].ToString() == "C:") { space = (ulong)disk["FreeSpace"]; } } return space;} 或者用APIprivate ulong freeBytesAvailable = 0;private ulong totalNumberOfBytes = 0;private ulong totalNumberOfFreeBytes = 0;[DllImport("kernel32.dll")] private static extern bool GetDiskFreeSpaceEx(string lpDirectoryName,out UInt64 lpFreeBytesAvailable,out UInt64 lpTotalNumberOfBytes,out UInt64 lpTotalNumberOfFreeBytes); private void getDriveInfo(string driveName){ GetDiskFreeSpaceEx(driveName,out freeBytesAvailable,out totalNumberOfBytes,out totalNumberOfFreeBytes); //driveName是盘符 //totalNumberOfBytes和totalNumberOfFreeBytes是结果}文件的大小就是length属性,比较就不说了 例如,建一个4K大小的"C:\tmp.dat"空文件:string file ="C:\\tmp.dat";if(File.Exists(file))return;FileStream fs = new FileStream("C:\\tmp.dat",FileMode.CreateNew);int length = 4096;byte[] buffer = new byte[length];fs.Write(buffer,0,length);fs.Close(); 除了C++还有什么语言开发共享软件。 求助(谁有c# 编码规范 考试题) WPF论坛在哪《《《《《《 谁能给个短信猫的类的例子。 求救高手,请问一下,在C#中如何使用EXCEL中的图表绘制工具,实现数据动态分析?[email protected]这是小弟的邮箱,谢谢啦! 请教大家一个算法的问题 VS2005制作安装程序的问题! 小白求助 sql查询语句怎么不区分大小写了? c# POST上传图片和参数的问题 语音问题 DataGridView绑定了实体类,怎样修改呢?
using System.Management;public ulong GetDiskSpace()
{
ManagementClass diskClass =new ManagementClass("Win32_LogicalDisk");
ManagementObjectCollection disks = diskClass.GetInstances();
ulong space=0;
foreach(ManagementObject disk in disks)
{
if(disk["Name"].ToString() == "C:")
{
space = (ulong)disk["FreeSpace"];
}
}
return space;
}文件大小
FileInfo f = new FileInfo(filename);
f.Length
{
ManagementClass diskClass =new ManagementClass("Win32_LogicalDisk");
ManagementObjectCollection disks = diskClass.GetInstances();
ulong space=0;
foreach(ManagementObject disk in disks)
{
if(disk["Name"].ToString() == "C:")
{
space = (ulong)disk["FreeSpace"];
}
}
return space;
}
或者
用API
private ulong freeBytesAvailable = 0;
private ulong totalNumberOfBytes = 0;
private ulong totalNumberOfFreeBytes = 0;[DllImport("kernel32.dll")]
private static extern bool GetDiskFreeSpaceEx(
string lpDirectoryName,
out UInt64 lpFreeBytesAvailable,
out UInt64 lpTotalNumberOfBytes,
out UInt64 lpTotalNumberOfFreeBytes); private void getDriveInfo(string driveName)
{
GetDiskFreeSpaceEx(driveName,out freeBytesAvailable,out totalNumberOfBytes,out totalNumberOfFreeBytes);
//driveName是盘符
//totalNumberOfBytes和totalNumberOfFreeBytes是结果
}
文件的大小就是length属性,比较就不说了
if(File.Exists(file))return;
FileStream fs = new FileStream("C:\\tmp.dat",FileMode.CreateNew);
int length = 4096;
byte[] buffer = new byte[length];
fs.Write(buffer,0,length);
fs.Close();