IO文件操作
2024-10-21 14:36:41
一.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类可以进行对一些小文件的拷贝,剪切操作。还能读取一些文档文件
- void Delete(string path): //删除文件;
- bool Exists(string path): //判断文件是否存在;
- string[] ReadAllLines(string path): //将文本文件中的内容读取到string数组中;
- string ReadAllText(string path): //将文本文件读取为一个字符串
- void WriteAllLines(string path, string[] contents)://将string[]写入到文件中;
- void WriteAllText(string path, string contents)://将字符串contents写入到文件path
- AppendAllText: //向文件中附加内容;
- Copy //复制文件;
- 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();
}
最新文章
- 可扩容分布式session方案
- 浅析正则表达式模式匹配的String方法
- IO之同步、异步、阻塞、非阻塞 (2)
- java算法 蓝桥杯 扶老奶奶街
- C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)
- Ajax (AppServ服务器练习)
- Cookie中的HttpOnly详解
- oracle删除某个用户所有表(转)
- 内存分配的原理__进程分配内存有两种方式,分别由两个系统调用完成:brk和mmap(不考虑共享内存)
- [ SSH框架 ] Struts2框架学习之一
- C++入门篇四
- 【webpack学习笔记】a01-基础构建
- jQuery 正则数字验证、’Money验证、电话号码验证、身份证验证、邮箱验证、网址验证、敏感字符验证
- 【Solidity】学习(2)
- Annotation方式配置AOP
- 更新package.json中的dependencies依赖到最新版本 -
- 【代码审计】QYKCMS_v4.3.2 任意文件删除漏洞分析
- app.$mount(";#app";) 手动挂载
- Vue中子组件调用父组件的方法
- 第三次作业---excel导入数据库及显示