zoukankan      html  css  js  c++  java
  • c#文件操作二

      文件操作

    若要执行此操作...

    请参阅本主题中的示例...

    创建文本文件

    向文件写入文本 

    写入文本文件 向文件写入文本 

    读取文本文件 从文件读取文本 

    向文件中追加文本 File.AppendText FileInfo.AppendText 

    重命名或移动文件 File.Move FileInfo.MoveTo 

    删除文件 File.Delete FileInfo.Delete

      复制文件 File.Copy FileInfo.CopyTo 

    获取文件大小 FileInfo.Length 

    获取文件属性 File.GetAttributes 

    设置文件属性 File.SetAttributes 

    确定文件是否存在 File.Exists 

    读取二进制文件 对刚创建的数据文件进行读取和写入  写入二进制文件 对刚创建的数据文件进行读取和写入  检索文件扩展名 Path.GetExtension 

    检索文件的完全限定路径 Path.GetFullPath 

    检索路径中的文件名和扩展名 Path.GetFileName 

    更改文件扩展名 Path.ChangeExtension 

    目录操作

    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.Collections.Generic;

    using System.Text;

    using System.IO;

      读取数据!

      StreamReader objReader = new StreamReader(@"F:\123\222.txt");   //要读取的文件路径        

      string sLine = "";          

       ArrayList LineList = new ArrayList();  //定义一个集合来保存读出来的数据

                while (sLine != null)          

         {                

             sLine = objReader.ReadLine();             //从数据流里面读出一行数据保存到字符中

              if (sLine != null && !sLine.Equals(""))         

                LineList.Add(sLine);            //把数据加到集合中

          }          

          objReader.Close();               //关闭数据流

          Console.WriteLine(LineList[0]);          

           Console.ReadKey();

       2,写入数据

     FileStream fs = new FileStream(@"F:\123\222.txt", FileMode.Create);       //要写入文件的路径!    

      //获得字节数组

       byte[] data = new UTF8Encoding().GetBytes("aadfadfadf");          

       //开始写入           

      fs.Write(data, 0, data.Length);

         //清空缓冲区、关闭流        

       fs.Flush();          

       fs.Close();

  • 相关阅读:
    【unity3d游戏开发之基础篇】unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
    【unity3d游戏开发之疑难杂症】Unity3d工程如何与MonoDevelop工具进行调试
    【unity3d游戏开发之疑难杂症】解决Unity3d脚本支持中文问题
    cocos2d 中添加显示文字的三种方式(CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas)
    xcode连不上ipad的原因
    【unity3d游戏开发之疑难杂症】Error while importing package: Couldn't decompress package
    AS3 event flow 事件冒泡机制 以及 stopImmediatePropagation() stopPropagation()用法
    【unity3d游戏开发之基础篇】利用射线实现鼠标控制角色转向和移动(角色移动一)
    Asp.net Session认识加强Session究竟是如何存储你知道吗?
    Windows 7下VS2008无法调试2.0.50727.4952版本mscorlib.dll的解决办法
  • 原文地址:https://www.cnblogs.com/xu3593/p/2870000.html
Copyright © 2011-2022 走看看