All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET2.0邮件群发_[Asp.Net教程]
SQL,Server,2005,Reporting,Services,初次使用感受_[SQL,Server教程]
PHP脚本的8个技巧(8)PHP和XML_[PHP教程]
配置 SQL Server 2005 远程调试存储过程_[SQL Server教程]
ADO.NET的一些使用经验_[Asp.Net教程]
漫谈Visual,C#的组件设计方法_.net资料_编程技术
ASP.net下大文件上传的解决方案及WebbUpload组件源码_[Asp.Net教程]
C#应用:读取指定盘符的硬盘序列号_[Asp.Net教程]
使用div仿javascript模态窗口_JavaScript技术_编程技术
一组,ASP.NET,2.0,主题文件下载_[Asp.Net教程]
Reading number is top 10 pictures
Sora aoi on twitter1
Female model behind the bitterness, often being overcharged2
什么叫国家
China's first snake village3
So beauty, will let you spray blood1
A man's favorite things14
谁认识这位校花
囚犯暴乱了咋办?
美洲杯宝贝的雨中风情2
赵惟依写真2
Download software ranking
Unix video tutorial6
C#高级编程(第4版)
Sora aoi, the nurse, uniform ,nursing assistant
Tram sex maniac 2 (H) rar bag7
Unix video tutorial19
实战黑客不求人
Boxer vs Yellow2
少妇苏霞全本
The Bermuda triangle2
超级战舰
delv published in(发表于) 2014/1/27 6:48:11 Edit(编辑)
ASP.NET中的File类和Directory类的相关知识_[Asp.Net教程]

ASP.NET中的File类和Directory类的相关知识_[Asp.Net教程]

ASP.NET中的File类和Directory类的相关知识_[Asp.Net教程]

.NET中处理文件和文件夹的操作相关的类:File类和Directory类


System.IO.File类和System.IO.FileInfo类

  在设计和实现“网络硬盘”的过程中,将大量地使用和文件系统操作相关的内容。故本节先对和文件系统相关的两个.NET类进行简要介绍。

  System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。

 (1) 文件打开方法:File.Open


public static FileStream Open(string path,FileMode mode)

下面的代码打开存放在c:\tempuploads目录下名称为newFile.txt文件,并在该文件中写入hello。

private void OpenFile()
{
 FileStream.TextFile=File.Open(@"c:\tempuploads\newFile.txt",FileMode.Append);
 byte [] Info = {(byte)''h'',(byte)''e'',(byte)''l'',(byte)''l'',(byte)''o''};
 TextFile.Write(Info,0,Info.Length);
 TextFile.Close();
}

(2) 文件创建方法:File.Create

  该方法的声明如下:

public static FileStream Create(string path;)

下面的代码演示如何在c:\tempuploads下创建名为newFile.txt的文件。

  由于File.Create方法默认向所有用户授予对新文件的完全读/写访问权限,所以文件是用读/写访问权限打开的,必须关闭后才能由其他应用程序打开。为此,所以需要使用FileStream类的Close方法将所创建的文件关闭。

private void MakeFile()
{
 FileStream NewText=File.Create(@"c:\tempuploads\newFile.txt");
 NewText.Close();
}

(3) 文件删除方法:File.Delete

  该方法声明如下:


public static void Delete(string path);

下面的代码演示如何删除c:\tempuploads目录下的newFile.txt文件。

private void DeleteFile()
{
 File.Delete(@"c:\tempuploads\newFile.txt");
}

  (4) 文件复制方法:File.Copy

  该方法声明如下:

public static void Copy(string sourceFileName,string destFileName,bool overwrite);

下面的代码将c:\tempuploads\newFile.txt复制到c:\tempuploads\BackUp.txt。

  由于Cope方法的OverWrite参数设为true,所以如果BackUp.txt文件已存在的话,将会被复制过去的文件所覆盖。

private void CopyFile()
{
 File.Copy(@"c:\tempuploads\newFile.txt",@"c:\tempuploads\BackUp.txt",true);
}

  (5) 文件移动方法:File.Move

  该方法声明如下:

public static void Move(string sourceFileName,string destFileName);

  下面的代码可以将c:\tempuploads下的BackUp.txt文件移动到c盘根目录下。

  注意:

  只能在同一个逻辑盘下进行文件转移。如果试图将c盘下的文件转移到d盘,将发生错误。

private void MoveFile()
{
 File.Move(@"c:\tempuploads\BackUp.txt",@"c:\BackUp.txt");
}

  (6) 设置文件属性方法:File.SetAttributes

  该方法声明如下:

public static void SetAttributes(string path,FileAttributes fileAttributes);

  下面的代码可以设置文件c:\tempuploads\newFile.txt的属性为只读、隐藏。

private void SetFile()
{
 File.SetAttributes(@"c:\tempuploads\newFile.txt",
 FileAttributes.ReadOnly|FileAttributes.Hidden);
}


 文件除了常用的只读和隐藏属性外,还有Archive(文件存档状态),System(系统文件),Temporary(临时文件)等。关于文件属性的详细情况请参看MSDN中FileAttributes的描述。

  (7) 判断文件是否存在的方法:File.Exist

  该方法声明如下:

public static bool Exists(string path);

下面的代码判断是否存在c:\tempuploads\newFile.txt文件。若存在,先复制该文件,然后其删除,最后将复制的文件移动;若不存在,则先创建该文件,然后打开该文件并进行写入操作,最后将文件属性设为只读、隐藏。

if(File.Exists(@"c:\tempuploads\newFile.txt")) //判断文件是否存在
{
 CopyFile(); //复制文件
 DeleteFile(); //删除文件
 MoveFile(); //移动文件
}
else
{
 MakeFile(); //生成文件
 OpenFile(); //打开文件
 SetFile(); //设置文件属性
}

此外,File类对于Text文本提供了更多的支持。

  · AppendText:将文本追加到现有文件

  · CreateText:为写入文本创建或打开新文件

  · OpenText:打开现有文本文件以进行读取

  但上述方法主要对UTF-8的编码文本进行操作,从而显得不够灵活。在这里推荐读者使用下面的代码对txt文件进行操作。

  · 对txt文件进行“读”操作,示例代码如下:

StreamReader TxtReader = new StreamReader(@"c:\tempuploads\newFile.txt",System.Text.Encoding.Default);
string FileContent;
FileContent = TxtReader.ReadEnd();
TxtReader.Close();

  · 对txt文件进行“写”操作,示例代码如下:

StreamWriter = new StreamWrite(@"c:\tempuploads\newFile.txt",System.Text.Encoding.Default);
string FileContent;
TxtWriter.Write(FileContent);
TxtWriter.Close();

System.IO.Directory类和System.DirectoryInfo类

  主要提供关于目录的各种操作,使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。

  (1) 目录创建方法:Directory.CreateDirectory

  该方法声明如下:

public static DirectoryInfo CreateDirectory(string path);

下面的代码演示在c:\tempuploads文件夹下创建名为NewDirectory的目录

private void MakeDirectory()
{
 Directory.CreateDirectory(@"c:\tempuploads\NewDirectoty");
}

(2) 目录属性设置方法:DirectoryInfo.Atttributes

  下面的代码设置c:\tempuploads\NewDirectory目录为只读、隐藏。与文件属性相同,目录属性也是使用FileAttributes来进行设置的。

private void SetDirectory()
{
 DirectoryInfo NewDirInfo = new DirectoryInfo(@"c:\tempuploads\NewDirectoty");
 NewDirInfo.Atttributes = FileAttributes.ReadOnly|FileAttributes.Hidden;
}

(3) 目录删除方法:Directory.Delete

  该方法声明如下:

public static void Delete(string path,bool recursive);


下面的代码可以将c:\tempuploads\BackUp目录删除。Delete方法的第二个参数为bool类型,它可以决定是否删除非空目录。如果该参数值为true,将删除整个目录,即使该目录下有文件或子目录;若为false,则仅当目录为空时才可删除。

private void DeleteDirectory()
{
 Directory.Delete(@"c:\tempuploads\BackUp",true);
}

(4) 目录移动方法:Directory.Move

  该方法声明如下:

public static void Move(string sourceDirName,string destDirName);

  下面的代码将目录c:\tempuploads\NewDirectory移动到c:\tempuploads\BackUp。

private void MoveDirectory()
{
 File.Move(@"c:\tempuploads\NewDirectory",@"c:\tempuploads\BackUp");
}

 (5) 获取当前目录下的所有子目录方法:Directory.GetDirectories

  该方法声明如下:

public static string[] GetDirectories(string path;);
下面的代码读出c:\tempuploads\目录下的所有子目录,并将其存储到字符串数组中。

private void GetDirectory()
{
 string [] Directorys;
 Directorys = Directory. GetDirectories (@"c:\tempuploads");
}


  (6) 获取当前目录下的所有文件方法:Directory.GetFiles

  该方法声明如下:

public static string[] GetFiles(string path;);

下面的代码读出c:\tempuploads\目录下的所有文件,并将其存储到字符串数组中。

private void GetFile()
{
 string [] Files;
 Files = Directory. GetFiles (@"c:\tempuploads",);
}

  (7) 判断目录是否存在方法:Directory.Exist

  该方法声明如下:

public static bool Exists(
 string path;
);

下面的代码判断是否存在c:\tempuploads\NewDirectory目录。若存在,先获取该目录下的子目录和文件,然后其移动,最后将移动后的目录删除。若不存在,则先创建该目录,然后将目录属性设为只读、隐藏。

if(File.Exists(@"c:\tempuploads\NewDirectory")) //判断目录是否存在
{
 GetDirectory(); //获取子目录
 GetFile(); //获取文件
 MoveDirectory(); //移动目录
 DeleteDirectory(); //删除目录
}
else
{
 MakeDirectory(); //生成目录
 SetDirectory(); //设置目录属性
}

和文件有关的就这2个最重要了.






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.