C# 文件操作

80酷酷网    80kuku.com

  目录操作

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 ";
   StreamReader sr = new StreamReader(fileName);                                               string   str=sr.ReadLine   ();                                                                                                                                     sr.close();                                          StreamWriter rw=File.CreateText(Server.MapPath(".")+"");
rw.WriteLine("写入");
rw.WriteLine("abc");
rw.WriteLine(".NET笔记");
rw.Flush();
rw.Close();//打开文本文件
StreamReader sr=File.OpenText(Server.MapPath(".")+"");
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(".")+"");
sw.WriteLine("追逐理想");
sw.WriteLine("kzlll");
sw.WriteLine(".NET笔记");
sw.Flush();
sw.Close();//C#拷贝文件
string OrignFile, 总结中得到程序当前工作目录和执行目录的一些方法 从视频截图的方法 使用访问网页及获取数据 文档上传的一个方法一个上传控件上传多个文档 获得局域网主机列表实例 的链接地址替换 获取远程网页中的所有链接网络蜘蛛实现原理 里巧用预设一些可选的日期范围如本年度本季度本月等 身份证格式验证含位转换到位 生成缩略图代码 实现通过程序自动抓取远程网页信息 文件操作 下用技术实现点对点聊天 用获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码 绘制曲线图 堆栈 链表类 用控件控制显示 使用控件处理数据;
OrignFile=Server.MapPath(".")+"";
总结中得到程序当前工作目录和执行目录的一些方法 从视频截图的方法 使用访问网页及获取数据 文档上传的一个方法一个上传控件上传多个文档 获得局域网主机列表实例 的链接地址替换 获取远程网页中的所有链接网络蜘蛛实现原理 里巧用预设一些可选的日期范围如本年度本季度本月等 身份证格式验证含位转换到位 生成缩略图代码 实现通过程序自动抓取远程网页信息 文件操作 下用技术实现点对点聊天 用获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码 绘制曲线图 堆栈 链表类 用控件控制显示 使用控件处理数据=Server.MapPath(".")+"";
File.Copy(OrignFile, 总结中得到程序当前工作目录和执行目录的一些方法 从视频截图的方法 使用访问网页及获取数据 文档上传的一个方法一个上传控件上传多个文档 获得局域网主机列表实例 的链接地址替换 获取远程网页中的所有链接网络蜘蛛实现原理 里巧用预设一些可选的日期范围如本年度本季度本月等 身份证格式验证含位转换到位 生成缩略图代码 实现通过程序自动抓取远程网页信息 文件操作 下用技术实现点对点聊天 用获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码 绘制曲线图 堆栈 链表类 用控件控制显示 使用控件处理数据,true);//C#删除文件
string delFile=Server.MapPath(".")+"";
File.Delete(delFile);//C#移动文件
string OrignFile, 总结中得到程序当前工作目录和执行目录的一些方法 从视频截图的方法 使用访问网页及获取数据 文档上传的一个方法一个上传控件上传多个文档 获得局域网主机列表实例 的链接地址替换 获取远程网页中的所有链接网络蜘蛛实现原理 里巧用预设一些可选的日期范围如本年度本季度本月等 身份证格式验证含位转换到位 生成缩略图代码 实现通过程序自动抓取远程网页信息 文件操作 下用技术实现点对点聊天 用获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码 绘制曲线图 堆栈 链表类 用控件控制显示 使用控件处理数据;
OrignFile=Server.MapPath(".")+"";
总结中得到程序当前工作目录和执行目录的一些方法 从视频截图的方法 使用访问网页及获取数据 文档上传的一个方法一个上传控件上传多个文档 获得局域网主机列表实例 的链接地址替换 获取远程网页中的所有链接网络蜘蛛实现原理 里巧用预设一些可选的日期范围如本年度本季度本月等 身份证格式验证含位转换到位 生成缩略图代码 实现通过程序自动抓取远程网页信息 文件操作 下用技术实现点对点聊天 用获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码 绘制曲线图 堆栈 链表类 用控件控制显示 使用控件处理数据=Server.MapPath(".")+"";
File.Move(OrignFile, 总结中得到程序当前工作目录和执行目录的一些方法 从视频截图的方法 使用访问网页及获取数据 文档上传的一个方法一个上传控件上传多个文档 获得局域网主机列表实例 的链接地址替换 获取远程网页中的所有链接网络蜘蛛实现原理 里巧用预设一些可选的日期范围如本年度本季度本月等 身份证格式验证含位转换到位 生成缩略图代码 实现通过程序自动抓取远程网页信息 文件操作 下用技术实现点对点聊天 用获取无限多级分类的实现 在水晶报表中动态的添加自己所需要的的字段的代码 绘制曲线图 堆栈 链表类 用控件控制显示 使用控件处理数据);//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"); 

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: