zoukankan      html  css  js  c++  java
  • C# File类的操作

    File类,是一个静态类,主要是来提供一些函数库用的。静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。File类方法的参量很多时候都是路径pathFile的一些方法可以返回FileStreamStreamWriter的对象。可以和他们配套使用。

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

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

    该方法的声明如下:

    public static FileStream Open(string path,FileMode mode) 

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

    private void OpenFile()
    {
     FileStream.TextFile=File.Open(@"c:	empuploads
    ewFile.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: empuploads下创建名为newFile.txt的文件。
    由于File.Create方法默认向所有用户授予对新文件的完全读/写访问权限,所以文件是用读/写访问权限打开的,必须关闭后才能由其他应用程序打开。为此,所以需要使用FileStream类的Close方法将所创建的文件关闭。

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

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


    该方法声明如下:

    public static void Delete(string path);

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

    private void DeleteFile()
    {
     File.Delete(@"c:	empuploads
    ewFile.txt");
    }

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

    该方法声明如下:

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

    下面的代码将c: empuploads ewFile.txt复制到c: empuploadsBackUp.txt。
    由于Cope方法的OverWrite参数设为true,所以如果BackUp.txt文件已存在的话,将会被复制过去的文件所覆盖。

    private void CopyFile()
    {
     File.Copy(@"c:	empuploads
    ewFile.txt",@"c:	empuploadsBackUp.txt",true);
    }

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

    该方法声明如下:

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

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


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

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

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

    该方法声明如下:

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

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

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

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

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

    该方法声明如下:

    public static bool Exists(string path); 

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

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

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


    · AppendText:将文本追加到现有文件
    · CreateText:为写入文本创建或打开新文件
    · OpenText:打开现有文本文件以进行读取


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

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

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

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

    以上图片由“图斗罗”提供

  • 相关阅读:
    动态规划——Best Time to Buy and Sell Stock IV
    动态规划——Split Array Largest Sum
    动态规划——Burst Ballons
    动态规划——Best Time to Buy and Sell Stock III
    动态规划——Edit Distance
    动态规划——Longest Valid Parentheses
    动态规划——Valid Permutations for DI Sequence
    构建之法阅读笔记05
    构建之法阅读笔记04
    构建之法阅读笔记03
  • 原文地址:https://www.cnblogs.com/ldyblogs/p/file.html
Copyright © 2011-2022 走看看