c#对文件操作系列1

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, File Access.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,  Asp.net一招搞定SQL注入攻击  Page 的生命周期学习小结  Asp.net如何在邮件的正文显示图片  c# 程序皮肤控件  C#字符串位置交换方法集  C#(winform) 将dataset中指定列绑定到textbox控件上  c# 清空datagridview中所有内容Asp.net的Session过期  c#写入txt文本  截取IE中的字符串  c#对文件操作系列  WinForms中窗体与Html交互  C#中使窗体可以拖动C#封装Word常用操作类  C#封装Excel常用操作类  在C#中获取网页框架中的Document对象  C#中自定义控件属性在设计时代码中隐藏listView数据显示到Excel中  ASP.NET 服务器端控件内部流程  其中MD5算法返回Int的ToString字串;
 OrignFile=Server.MapPath( ".")+ "//myText.txt";
   Asp.net一招搞定SQL注入攻击  Page 的生命周期学习小结  Asp.net如何在邮件的正文显示图片  c# 程序皮肤控件  C#字符串位置交换方法集  C#(winform) 将dataset中指定列绑定到textbox控件上  c# 清空datagridview中所有内容  Asp.net的Session过期  c#写入txt文本  截取IE中的字符串  c#对文件操作系列  WinForms中窗体与Html交互  C#中使窗体可以拖动  C#封装Word常用操作类  C#封装Excel常用操作类  在C#中获取网页框架中的Document对象  C#中自定义控件属性在设计时代码中隐藏  listView数据显示到Excel中  ASP.NET 服务器端控件内部流程  其中MD5算法返回Int的ToString字串=Server.MapPath( ".")+ "//myTextCopy.txt";
 File.Copy(OrignFile,  Asp.net一招搞定SQL注入攻击  Page 的生命周期学习小结  Asp.net如何在邮件的正文显示图片  c# 程序皮肤控件  C#字符串位置交换方法集  C#(winform) 将dataset中指定列绑定到textbox控件上  c# 清空datagridview中所有内容  Asp.net的Session过期  c#写入txt文本  截取IE中的字符串  c#对文件操作系列  WinForms中窗体与Html交互  C#中使窗体可以拖动  C#封装Word常用操作类  C#封装Excel常用操作类  在C#中获取网页框架中的Document对象  C#中自定义控件属性在设计时代码中隐藏  listView数据显示到Excel中  ASP.NET 服务器端控件内部流程  其中MD5算法返回Int的ToString字串, true);
  //C#删除文件
  string delFile=Server.MapPath( ".")+ "//myTextCopy.txt";
 File.Delete(delFile);
  //C#移动文件
  string OrignFile,  Asp.net一招搞定SQL注入攻击  Page 的生命周期学习小结  Asp.net如何在邮件的正文显示图片  c# 程序皮肤控件  C#字符串位置交换方法集  C#(winform) 将dataset中指定列绑定到textbox控件上  c# 清空datagridview中所有内容Asp.net的Session过期  c#写入txt文本  截取IE中的字符串  c#对文件操作系列  WinForms中窗体与Html交互  C#中使窗体可以拖动C#封装Word常用操作类  C#封装Excel常用操作类  在C#中获取网页框架中的Document对象  C#中自定义控件属性在设计时代码中隐藏listView数据显示到Excel中  ASP.NET 服务器端控件内部流程  其中MD5算法返回Int的ToString字串;
 OrignFile=Server.MapPath( ".")+ "//myText.txt";
   Asp.net一招搞定SQL注入攻击  Page 的生命周期学习小结  Asp.net如何在邮件的正文显示图片  c# 程序皮肤控件  C#字符串位置交换方法集  C#(winform) 将dataset中指定列绑定到textbox控件上  c# 清空datagridview中所有内容  Asp.net的Session过期  c#写入txt文本  截取IE中的字符串  c#对文件操作系列  WinForms中窗体与Html交互  C#中使窗体可以拖动  C#封装Word常用操作类  C#封装Excel常用操作类  在C#中获取网页框架中的Document对象  C#中自定义控件属性在设计时代码中隐藏  listView数据显示到Excel中  ASP.NET 服务器端控件内部流程  其中MD5算法返回Int的ToString字串=Server.MapPath( ".")+ "//myTextCopy.txt";
 File.Move(OrignFile,  Asp.net一招搞定SQL注入攻击  Page 的生命周期学习小结  Asp.net如何在邮件的正文显示图片  c# 程序皮肤控件  C#字符串位置交换方法集  C#(winform) 将dataset中指定列绑定到textbox控件上  c# 清空datagridview中所有内容  Asp.net的Session过期  c#写入txt文本  截取IE中的字符串  c#对文件操作系列  WinForms中窗体与Html交互  C#中使窗体可以拖动  C#封装Word常用操作类  C#封装Excel常用操作类  在C#中获取网页框架中的Document对象  C#中自定义控件属性在设计时代码中隐藏  listView数据显示到Excel中  ASP.NET 服务器端控件内部流程  其中MD5算法返回Int的ToString字串);
  //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"); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值