您的位置:首页 > 编程语言 > C#

C# 文件操作(文件夹 及 文件) .

2013-10-03 21:23 281 查看
目录操作

System.IO 类
目录操作

string[] drives = Directory.GetLogicalDrives(); //本地驱动器的名,如:C:/等

string path = Directory.GetCurrentDirectory();   //获取应用程序的当前工作目录
Path.GetFileName(@"c:/dir/file.txt");            //获取子目录的名字,result的结果是file.txt

Directory.GetFiles(路径及文件名)                 //获取指定目录中的文件名(文件列表)
DirectoryInfo di = new DirectoryInfo(@"f:/MyDir"); //构造函数创建目录

DirectoryInfo di=Directory.CreateDirectory(@"f:/bbs"); //创建对象并创建目录

if (di.Exists == false) //检查是否存在此目录

di.Create(); //创建目录

DirectoryInfo dis = di.CreateSubdirectory("SubDir"); //以相对路径创建子目录

dis.Delete(true); //删除刚创建的子目录

di.Delete(true); //删除创建目录

文件操作
Directory.Delete(@"f:/bbs2", true); //删除目录及其子目录和内容(如为假不能删除有内容的目录包括子目录)

Directory.GetDirectories 方法 //获取指定目录中子目录的名称

string[] dirs = Directory.GetDirectories(@"f:/", "b*");

Console.WriteLine("此目录中以b开头的子目录共{0}个!", dirs.Length);

foreach (string dir in dirs) { Console.WriteLine(dir); }

Directory.GetFileSystemEntries //获取指定目录中的目录及文件名

Directory.GetLogicalDrives //检索此计算机上格式为“<驱动器号>:/”的逻辑驱动器的名称,【语法同上】

Directory.GetParent //用于检索父目录的路径。

DirectoryInfo a = Directory.GetParent(path);

Console.WriteLine(a.FullName);Directory.Move //移动目录及其在内的所有文件

Directory.Move(@"f:/bbs/1", @"f:/bbs/2"); //将文件夹1内的文件剪到文件夹2内 文件夹2是刚创建的

 
Stream // 对字节的读写操作(包含对异步操作的支持) Reading Writing Seeking

BinaryReader和BinaryWriter // 从字符串或原始数据到各种流之间的读写操作
FileStream类通过Seek()方法进行对文件的随机访问,默认为同步
TextReader和TextWriter //用于gb2312字符的输入和输出
StringReader和StringWriter //在字符串中读写字符
StreamReader和StreamWriter //在流中读写字符
BufferedStream 为诸如网络流的其它流添加缓冲的一种流类型.
MemoryStream 无缓冲的流
NetworkStream 互联网络上的流

//编码转换
Encoding e1 = Encoding.Default;               //取得本页默认代码

Byte[] bytes = e1.GetBytes("中国人民解放军"); //转为二进制
string str = Encoding.GetEncoding("UTF-8").GetString(bytes);
//转回UTF-8编码
  

//文本文件操作:创建/读取/拷贝/删除
using System;
using System.IO;
class Test

{

   string path = @"f:/t.txt";

   public
static void Main()

    {       

      //创建并写入(将覆盖已有文件)
      if (!File.Exists(path))

       {          

         using (StreamWriter sw = File.CreateText(path))

          {

             sw.WriteLine("Hello");

          }

       }

      //读取文件
      using (StreamReader sr = File.OpenText(path))

       {

         string s = "";

        while ((s = sr.ReadLine()) !=
null)

         {

            Console.WriteLine(s);

         }

      }

     //删除/拷贝
     try

      {

         File.Delete(path);

         File.Copy(path, @"f:/tt.txt");

      }

     catch (Exception e)

      {

         Console.WriteLine("The process failed: {0}", e.ToString());

      }

    }

}

//流文件操作
private const string name = "Test.data";

public static void Main(String[] args)

{
     //打开文件()   ,或通过File创建立如:fs = File.Create(path, 1024)
     FileStream fs = new FileStream(name, FileMode.CreateNew);

     //转换为字节 写入数据(可写入中文)
     Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");

    //字节数组,字节偏移量,最多写入的字节数
     fs.Write(info, 0, info.Length);

     w.Close();

     fs.Close();

    //打开文件
     fs = new FileStream(name, FileMode.Open, FileAccess.Read);

    //读取
     BinaryReader r = new BinaryReader(fs);

     for (int i = 0; i < 11; i++)

     {

         Console.WriteLine(r.ReadInt32());

     }

     w.Close();

     fs.Close();

}

 
//C#写入/读出文本文件
   string fileName =@"c:/111.txt";

   StreamReader sr = new StreamReader(fileName);                                               string   str=sr.ReadLine   ();                                                                                                                                    
sr.close();                                       
   StreamWriter rw=File.CreateText(Server.MapPath(".")+"//myText.txt");

rw.WriteLine("写入");

rw.WriteLine("abc");

rw.WriteLine(".NET笔记");

rw.Flush();

rw.Close();
//打开文本文件

StreamReader sr=File.OpenText(Server.MapPath(".")+"//myText.txt");

StringBuilder output=newStringBuilder();

string rl;

while((rl=sr.ReadLine())!=null)

{

   output.Append(rl+"");

}
lblFile.Text=output.ToString();

sr.Close();

//C#追加文件

StreamWriter sw=File.AppendText(Server.MapPath(".")+"//myText.txt");

sw.WriteLine("追逐理想");

sw.WriteLine("kzlll");

sw.WriteLine(".NET笔记");

sw.Flush();

sw.Close();
//C#拷贝文件

string OrignFile,NewFile;

OrignFile=Server.MapPath(".")+"//myText.txt";

NewFile=Server.MapPath(".")+"//myTextCopy.txt";

File.Copy(OrignFile,NewFile,true);
//C#删除文件

string delFile=Server.MapPath(".")+"//myTextCopy.txt";

File.Delete(delFile);
//C#移动文件

string OrignFile,NewFile;

OrignFile=Server.MapPath(".")+"//myText.txt";

NewFile=Server.MapPath(".")+"//myTextCopy.txt";

File.Move(OrignFile,NewFile);
//C#创建目录

//创建目录c:/sixAge

DirectoryInfod=Directory.CreateDirectory("c://sixAge");

//d1指向c:/sixAge/sixAge1

DirectoryInfod1=d.CreateSubdirectory("sixAge1");

//d2指向c:/sixAge/sixAge1/sixAge1_1

DirectoryInfod2=d1.CreateSubdirectory("sixAge1_1");

//将当前目录设为c:/sixAge

Directory.SetCurrentDirectory("c://sixAge");

//创建目录c:/sixAge/sixAge2

Directory.CreateDirectory("sixAge2");

//创建目录c:/sixAge/sixAge2/sixAge2_1

Directory.CreateDirectory("sixAge2//sixAge2_1"); 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: