当前位置: 首页 > news >正文

C#文件操作

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

创建文本文件 向文件写入文本
写入文本文件 向文件写入文本
读取文本文件 从文件读取文本
向文件中追加文本 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.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());
     }
   }
}

转载于:https://my.oschina.net/duluo180/blog/8132

相关文章:

  • 通过日志恢复SQL Server的历史数据
  • DateTime Calendar
  • Sqlserver与Oracle 10g数据类型对照
  • win7、Ubuntu双系统Grub启动菜单修复
  • IT男吃什么最利于健康
  • 根据经纬度获取时区信息
  • 团购消费已成近期投诉热点 长假团购需防三大陷阱
  • 大数据架构和模式(五)——对大数据问题应用解决方案模式并选择实现它的产品...
  • 解决MSE, Windows Update/Defender无法更新(错误代码0x8024402F)
  • Android_CodeWiki_03
  • D3D 部分功能测试结论
  • PHP time(), microtime(),date()函数
  • 使用快照隔离snapshot isolation实例(二)
  • Powershell管理系列(十七)在PowerShell中添加Exchange管理单元
  • 数据库连接代码
  • 0基础学习移动端适配
  • happypack两次报错的问题
  • iOS | NSProxy
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • log4j2输出到kafka
  • Netty源码解析1-Buffer
  • Quartz初级教程
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 嵌入式文件系统
  • 深度学习在携程攻略社区的应用
  • 使用agvtool更改app version/build
  • 我的面试准备过程--容器(更新中)
  • 译有关态射的一切
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 交换综合实验一
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #ifdef 的技巧用法
  • #微信小程序:微信小程序常见的配置传旨
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • ()、[]、{}、(())、[[]]命令替换
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (接口封装)
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (算法)求1到1亿间的质数或素数
  • (转) 深度模型优化性能 调参
  • (转载)OpenStack Hacker养成指南
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .net FrameWork简介,数组,枚举
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .net6Api后台+uniapp导出Excel
  • .NET的数据绑定
  • .NET开源快速、强大、免费的电子表格组件
  • .NET开源项目介绍及资源推荐:数据持久层
  • [C++进阶篇]STL中vector的使用
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!
  • [Codeforces1137D]Cooperative Game