C#文件和目录

一. C#提供的文件操作

File类和FileInfo类的区别和使用方法.,两者的主要区别是File不能实例化,只提供静态方法,而后者可以实例化,,提供的方法和File类相似.先看下利用FileInfo构造的一个实例: FileInfo myfile = new FileInfo("c:\\abc.txt");

创建 一个文件实例对象,现在我们可以看下它的属性:


FileInfo myfile = new FileInfo("c:\\abc.txt");

Console.WriteLine(myfile.Attributes);//属性

Console.WriteLine(myfile.CreationTime);//创建时间

Console.WriteLine(myfile.CreationTimeUtc);//Utc时间

Console.WriteLine(myfile.Directory);//目录

Console.WriteLine(myfile.DirectoryName);//目录名字

Console.WriteLine(myfile.Exists);//是否存在

Console.WriteLine(myfile.Extension);文件扩展名

Console.WriteLine(myfile.FullName);//全名

Console.WriteLine(myfile.IsReadOnly);是否只读

Console.WriteLine(myfile.LastAccessTime);上次访问

Console.WriteLine(myfile.LastAccessTimeUtc);时间

Console.WriteLine(myfile.LastWriteTime);上次读入

Console.WriteLine(myfile.LastWriteTimeUtc);时间

Console.WriteLine(myfile.Length);文件长度

Console.WriteLine(myfile.Name);文件名字

Console.WriteLine("以上是实例文件的属性");


 

至于File和FileInfo提供的方法,我在这里不全部介绍,大家可以去msdn.查看.下面举例说明下与文件有关的操作.:读取文件的内容,中间有些知识没有介绍,大家自己可以先去思考或者搜索相关内容,.


FileInfo myfile = new FileInfo("c:\\abc.txt");

if (!myfile.Exists)//判断文件是否存在,

myfile.Create();不在就创建文件

FileStream fs = new FileStream

("c:\\abc.txt", FileMode.Open)//打开文件

StreamReader sr = new StreamReader(fs);输入流

string strLine = "";

try

{

strLine = sr.ReadLine();//读取文件里的一行

while (strLine != null)//非空

{

strLine = sr.ReadLine();继续读取下一行

}直到文件的最后一行

sr.Close();//关闭流

}

catch (IOException ex){//处理异常

throw ex;

}


 

File类是静态类, File方法都是静态的,所以如果只想执行一个操作,那么使用File方法的效率比使用相应的FileInfo 实例方法可能更高。所有的File方法都要求当前所操作的文件的路径。File 类的静态方法对所有方法都执行安全检查。如果打算多次重用某个对象,可考虑改用FileInfo的相应实例方法,因为并不总是需要安全检查。

二. C#的目录操作

C#提供DirectoryInfo和Directory两个类来处理与目录相关的操作. 前者必须被实例化后才能使用,而后者则只提供了静态的方法。如果多次使用某个对象一般使用前者;如果仅执行某一个操作则使用后者提供的静态方法效率更

高一些。

DirectoryInfo的构造函数:DirectoryInfo di1 = new DirectoryInfo(@"c:\MyDir");

DirectoryInfo di2 = new DirectoryInfo("c:\\MyDir ");

下面举例说明获取一个目录下的所有文件的名字和长度.


DirectoryInfo Info =

new DirectoryInfo("c:\\");

FileInfo []files = Info.GetFiles();

foreach (FileInfo text in files)

{

TextBox1.Text += text.Name;

TextBox1.Text +="  "+ text.Length;

TextBox1.Text += "\n";

}


 

FileInfo []files = Info.GetFiles();这个方法的作用是获取当前目录下所有的文件,不包含当中的子目录.将所有的文件赋给一个文件类集合,再用Foreach循环来获得每一个文件的名字和长度.


 

 

下一节将详细介绍文件的读取和写入.

时间: 2024-08-03 12:10:39

C#文件和目录的相关文章

《鸟哥的Linux私房菜》7章 Linux文件与目录管理 习题答案

自己整理了一下,分享给大家,这些习题确实是非常经典的! 1.什么是绝对路径与相对路径? 绝对路径是相对于/目录的路径的,比如/home/user: 相对路径是相对于当前工作目录的,比如你的系统上有个/home/user/test目录,此时你在/home/user目录下,那么./test就是相对路径. 2.如何更改一个目录的名称?例如/home/test变为/home/test2. 1 mv /home/test /home/test2 3.PATH这个环境变量的意义是什么? 这里先看一下PATH

Python文件及目录操作实例详解

  本文实例讲述了Python文件及目录操作的方法.分享给大家供大家参考.具体分析如下: 在python中对文件及目录的操作一般涉及多os模块,os.path模块.具体函数以及使用方法在程序中说明. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 5

linux查看文件和目录大小

  起因工作中或者日常使用ubuntu时候,经常会遇到查看当前系统容量的情况,这时候就需要我们使用命令来查询当前目录或者文件的大小了 目录的容量(du)语法格式[plain] du [-ahskm] 文件或者目录名 参数解释-a : 列出所有的文件与目录容量,因为默认仅统计目录的容量而已-h : 以人们较易读的容量格式呈现(G/M/K)显示,自动选择显示的单位大小-s : 列出总量而已,而不列出每个个别的目录占用容量-k : 以KB为单位进行显示-m : 以MB为单位进行显示常用命令参考 查看当

详细学习PHP中对文件和目录的操作方法

一:引论 在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用,关于对应的函数详细介绍,请查阅php手册,此处只总结重点和需要注意的地方. 二:目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出: 以下

搜索和替换文件或目录的一个好类--很实用

这是个非常有用的程序,可以对文本文件进行特定的搜索,并以特定的文字替换指定的文字,举个例子说如果我这篇文章里有一个字全部打错了,有几十处,要一一找出来修改是件很麻烦的事,用下面这个就可以轻松搞定.--teaman.oso.com.cn 类文件 search_replace.inc <?php         class search_replace{                 var $find;                 var $replace;                 

使用ASP.NET程序来管理文件或目录的一种方案

asp.net|程序 使用ASP.NET程序来管理文件或目录有多种方法,比如Directory.CreateDirectory,DirectoryInfo.Create等方法来创建一个目录,但今天我们来介绍另外一种比较另类的创建目录的方法,就是使用cmd的命令方式来管理. 在用过DOS命令的人都知道DOS命令可以做很多事,比如dir可以列举目录下的文件和子目录.这次,我们就是用ASP.NET程序来调用cmd的命令来管理文件. 下面是一段调用cmd.exe的方法: public bool cmd(

删除一个文件夹目录里面含有很多文档的时候报错

今天同事在测试文件同步功能时,发现当删除一个文件夹目录,里面含有很多文档的时候就报: Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:103) at org.apache.commons.dbc

Linux下如何操作文件与目录

cp - 复制(CoPy)文件和目录; mv - 移动(MoVe)/重命名文件和目录; mkdir - 创建文件夹(MaKe DIRectories); rm - 删除(ReMove)文件和目录; 通配符(Wildcards): * : 匹配任意字符; ?: 匹配任意单个字符; [characters]: 匹配任意一个属于字符集的字符, 如[abc] [!characters]: 匹配任意一个不属于字符集的字符, 如[!bcd] [[:class:]]: 匹配任意一个属于特定类的字符, 如[[:

dos的文件与目录

在DOS中,文件与目录是最重要的概念,这和95一样,不同的是,"目录"在95中叫做"文件夹". 如果我们想查看电脑中的文件,可以输入dir命令,然后回车.下面是我电脑屏幕上显示的结果.   如图所示,后面带有<dir>的是目录,没有的则是文件,这些目录里都分门别类地存放着许多不同用途的文件.你看,第一排是DOS目录,它里面有许多DOS命令文件和一些辅助信息文件.第二排是WINDOWS目录,它里面包含着许多有关WINDOWS程序的文件.   在DOS中,文

VC处理文件、目录及相应的目录字符串

介绍 文章简单介绍了两种处理文件及目录的方式,一种为boost::filesystem库,一种是用 Win32平台上Windows Shell中的Path Functions. 和文件系统的交互操作及对文件及目录字符串的处理,是编程活动中普遍碰到的问题.下 面介绍两种不同的方式,借助任意一种都可以大大的加速编程时花在这方面的时间和精力, 而且构建出的应用也更稳固.介绍的比较简单,在实际应用时建议大家根据具体需要查看相 应的帮助文档. boost库(www.boost.org)中的filesyst