FileInfo 这个类是干什么用的 什么意思哦

FileInfo 这个类是干什么用的 什么意思哦,第1张

.NET内建类型中提供了FileInfo和DirectoryInfo俩个类型,分别用来操作文件文件夹,有别于File和Directory类型,FileInfo和DirectoryInfo主要功能在于操作文件和文件夹在文件系统中的结构,完成诸如:创建,复制,读取信息,移动,判断是否存在,删除等功能。public class UseFileInfo

{

//static void Main(string[] arg)

//{

//Processfile()

//Console.Read()

//}static void Processfile()

{

FileInfo info = null

FileInfo newInfo = null

//创建文件

info = new FileInfo("c:\\test1.txt")

using (FileStream fs = info.Create())

{ }

Console.WriteLine("原始文件:")

ReadFileInfo(info)

//移动文件

info.MoveTo("c:\\test2.txt")

Console.WriteLine("移动后的新文件:")

ReadFileInfo(info)

//复制文件

newInfo = info.CopyTo("c:\\test3.txt")

Console.WriteLine("复制后的新文件:")

ReadFileInfo(newInfo)

}static void ReadFileInfo(FileInfo fi)

{

Console.WriteLine("文件名为:"+fi.Name)

Console.WriteLine("文件在:"+fi.DirectoryName)

Console.WriteLine("文件的长度:"+fi.Length)

Console.WriteLine("文件创建于:"+fi.CreationTime)

Console.WriteLine("文件的最后访问时间:" + fi.LastAccessTime)

Console.WriteLine("文件的最后修改时间:" + fi.LastWriteTime)

Console.WriteLine("文件全名是:" + fi.FullName)

Console.WriteLine("文件的扩展名是:" + fi.Extension)

}

}public class UseDirectoryInfo

{

static void Main(string[] args)

{

ProcessDirectoryInfo()

Console.Read()

}static void ProcessDirectoryInfo()

{

DirectoryInfo di = null

di = new DirectoryInfo("c:\\text")

di.Create()

di.CreateSubdirectory("subidc") FileInfo info = new FileInfo("c:\\text\\subidc\\text.txt")

using (FileStream fs = info.Create()) { }

ReadDirectoryInfo(di)

di.MoveTo("c:\\test2")

}static void ReadDirectoryInfo(DirectoryInfo di)

{

Console.WriteLine("文件夹名为:"+di.Name)

Console.WriteLine("父文件夹为:"+di.Parent.Name)

Console.WriteLine("文件夹创建于:"+di.CreationTime)

Console.WriteLine("文件夹的最后修改时间:" + di.LastWriteTime)

Console.WriteLine("文件夹的最后访问时间:" + di.LastAccessTime)

Console.WriteLine("文件夹的全名是:" + di.FullName)

Console.WriteLine("文件夹中的文件:")

FileInfo[] fis = di.GetFiles()

foreach (FileInfo fi in fis)

{

ReadFileInfo(fi)

}

Console.WriteLine("文件夹中的子文件夹:")

DirectoryInfo[] dis = di.GetDirectories()

foreach (DirectoryInfo dd in dis)//递归获取所有子文件夹

{

ReadDirectoryInfo(dd)

}

}static void ReadFileInfo(FileInfo fi)

{

Console.WriteLine("文件名为:" + fi.Name)

Console.WriteLine("文件在:" + fi.DirectoryName)

Console.WriteLine("文件的长度:" + fi.Length)

Console.WriteLine("文件创建于:" + fi.CreationTime)

Console.WriteLine("文件的最后访问时间:" + fi.LastAccessTime)

Console.WriteLine("文件的最后修改时间:" + fi.LastWriteTime)

Console.WriteLine("文件全名是:" + fi.FullName)

Console.WriteLine("文件的扩展名是:" + fi.Extension)

}

}

system.io包含另一个类file,它的功能与fileinfo一样,不过不同的是,file类成员为静态。所以,使用file代替fileinfo就不必实例化一个新fileinfo对象。

那么为什么有时还使用fileinfo呢?因为每次通过file类调用某个方法时,都要占用一定的cpu处理时间来进行安全检查,即使使用不同的file类的方法重复访问同一个文件时也是如此。而,fileinfo类只在创建fileinfo对象时执行一次安全检查。

0x00000024

◆错误分析:0x00000023通常发生在读写FAT16或者FAT32文件系统的系统分区时, 而0x00000024则是由于NTFS.sys文件出现错误(这个驱动文件的作用是容许系统读写使用NTFS文件系统的磁盘). 这两个蓝屏错误很有可能是磁盘本身存在物理损坏, 或是中断要求封包(IRP)损坏而导致的. 其他原因还包括:硬盘磁盘碎片过多文件读写操作过于频繁, 并且数据量非常达或者是由于一些磁盘镜像软件或杀毒软件引起的.

◇解决方案:

第一步:首先打开命令行提示符, 运行"Chkdsk /r"(注:不是CHKDISK, 感觉象这个, 但是……)命令检查并修复硬盘错误, 如果报告存在怀道(Bad Track), 请使用硬盘厂商提供的检查工具进行检查和修复.

第二步:接着禁用所有即使扫描文件的软件, 比如:杀毒软件、防火墙或备份工具.

第三步:右击C:\winnt\system32\drivers\fastfat.sys文件并选择"属性", 查看其版本是否与当前系统所使用的Windows版本相符.(注:如果是XP, 应该是C:\windows\system32\drivers\fastfat.sys)

第四步:安装最新的主板驱动程序, 特别IDE驱动. 如果你的光驱、可移动存储器也提供有驱动程序,最好将它们升级至最新版.


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/27097.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-17
下一篇2023-02-17

发表评论

登录后才能评论

评论列表(0条)

    保存