一.IO文件的操作:

    .net中对文件操作,经常会用到这样几个类:

      • FileStream       (操作大文件)
      • Path               (操作路径)
      • File                 (操作小文件)
      • Directory         (目录操作)

二.Directory类:

    • 创建目录:
static void Main(string[] args)
{
string path =@"目录";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path); //如果目录不存在就创建目录
}
Console.ReadKey();
}
    • 删除目录:
static void Main(string[] args)
{
string path=@"目录";
if (Directory.Exists(path))
{
//Directory.Delete(path);//删除空目录 ,目录下没有文件了。
Directory.Delete(path, true);////不管空不空,都删!
}
Console.ReadKey();
}

三.File类:

    File类可以进行对一些小文件的拷贝,剪切操作。还能读取一些文档文件

    1. void Delete(string path): //删除文件;
    2. bool Exists(string path): //判断文件是否存在;
    3. string[] ReadAllLines(string path): //将文本文件中的内容读取到string数组中;
    4. string ReadAllText(string path): //将文本文件读取为一个字符串
    5. void WriteAllLines(string path, string[] contents)://将string[]写入到文件中;
    6. void WriteAllText(string path, string contents)://将字符串contents写入到文件path
    7. AppendAllText: //向文件中附加内容;
    8. Copy //复制文件;
    9. Move //移动文件

遍历目录下的文件:

static void Main(string[] args)
{
IEnumerable<string> file1 = Directory.EnumerateFiles(@"目录");
IEnumerator<string> fileenum = file1.GetEnumerator();
while (fileenum.MoveNext()) //移动一下读取一个
{
Console.WriteLine(fileenum.Current);
}
Console.ReadKey();
}

四.FileStream类:

    文件流类,负责文件的拷贝,读取

文件的读取:

using (Stream file = new FileStream("目录文件", FileMode.Open))
{
byte[] bytes = new byte[]; //读取数据的一个缓冲区
int len;
while((len=file.Read(bytes,,bytes.Length))>) //每次读取bytes4字节的数据到
{ //bytes中
string s = Encoding.Default.GetString(bytes,,len);
Console.WriteLine(s);
}
}

文件的写入:

//创建文件流
Stream file = new FileStream(@"d:\temp.txt", FileMode.Create);
//按默认编码将内容读取到数组中
byte[] bytes = Encoding.Default.GetBytes("IO流操作读写换行\r\nhelloWord");
file.Write(bytes, , bytes.Length); //读取bytes数组,0位置开始读,读取长度
file.Close();//文件写入完毕后一定要关闭文件

五.文本文件的操作:

1.按行写入文本文件
static void Main(string[] args)
{
using (StreamWriter sw = new StreamWriter("e:\\temp.txt",false, Encoding.UTF8))//true表示往后追加
{
sw.WriteLine("hello");
}
Console.ReadKey();
}
2.按行读取文本文件
static void Main(string[] args)
{
using(StreamReader sr = new StreamReader("e:\\temp.txt",Encoding.Default))
{
string str;
while ((str=sr.ReadLine()) != null) //每次读取一行
{
Console.WriteLine(str);
}
}
Console.ReadKey();
}

最新文章

  1. 可扩容分布式session方案
  2. 浅析正则表达式模式匹配的String方法
  3. IO之同步、异步、阻塞、非阻塞 (2)
  4. java算法 蓝桥杯 扶老奶奶街
  5. C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)
  6. Ajax (AppServ服务器练习)
  7. Cookie中的HttpOnly详解
  8. oracle删除某个用户所有表(转)
  9. 内存分配的原理__进程分配内存有两种方式,分别由两个系统调用完成:brk和mmap(不考虑共享内存)
  10. [ SSH框架 ] Struts2框架学习之一
  11. C++入门篇四
  12. 【webpack学习笔记】a01-基础构建
  13. jQuery 正则数字验证、’Money验证、电话号码验证、身份证验证、邮箱验证、网址验证、敏感字符验证
  14. 【Solidity】学习(2)
  15. Annotation方式配置AOP
  16. 更新package.json中的dependencies依赖到最新版本 -
  17. 【代码审计】QYKCMS_v4.3.2 任意文件删除漏洞分析
  18. app.$mount(&quot;#app&quot;) 手动挂载
  19. Vue中子组件调用父组件的方法
  20. 第三次作业---excel导入数据库及显示

热门文章

  1. PAT天梯赛 L1-049 天梯赛座位分配
  2. AngularJs ng-repeat解决循环对象出现重复项报错的问题
  3. 处女座和小姐姐(三)(数位dp)
  4. HDU5950 Recursive sequence 非线性递推式 矩阵快速幂
  5. Educational Codeforces Round 13 B
  6. 精简的网站reset和css通用样式库
  7. Hash Join是Oracle CBO时代经常出现的一种连接方式
  8. BigDecimal取整
  9. hive默认配置 .hiverc
  10. my.ZC