文件处理

Path类

静态类
操作文件路径
Path.GetFileName(); //获取文件名包含拓展名
Path.GetFileNameWithoutExtension(); //获取文件名不包含拓展名
Path.GetExtension(); //获取拓展名
Path.GetDirectoryName(); //获取所在文件夹的名字

File类

静态类
一次读完,用于小数据处理
File.Exists(); //判断文件是否存在
File.Create(); //创建文件(写入文件后缀)
File.Delete(); //删除文件(永久删除)
File.Copy(); //赋值文件
File.Move(); //移动文件

文件读取(注意编码参数)
File.ReadAllLines(); //读取所有行,返回string[ ]
File.ReadAllText(); //读取整个文本,返回string
File.ReadAllBytes(); //读取文件,返回byte[ ]

文件写入(注意编码参数)
File.WriteAllLines();//写入string[ ]
File.WriteAllText(); //写入string
File.WriteAllBytes(); //写入byte[ ]
File.AppendAllText();//追加string

FileStream类

指定每次读写大小,用于大文件读写
操作字节(即可操作任意类型文件)

//每次指定最大读取字节数,循环读取,直至读完
using(FileStream file=new FileStream("path",FileMode.OPen,FileAccess.Read))//自动释放流
{
	byte[] buffer = new byte[1024*5];//每次读取内容量(字节)
	int n = file.Read(buffer,0,buffer.Length);//中间介质,偏移量,读取字节数,返回实际读取字节数
	string s = Encoding.Default.GetString(buffer,0,n);
}
//会覆盖指定位置开始的内容,但不会更改其他内容
using(FileStream file=new FileStream("path",FileMode.OpenOrCreate,FileAccess.Write))
{
	string s = "写入数据";
	byte[] buffer = Encoding.Default.GetBytes(s);
	file.Write(buffer,0,buffer.Length);//写入内容,偏移量,写入长度
}

StreamReader和StreamWriter类

操作字符(文本文件)

读取文本

using(StreamReader reader = new StreamReader("path"))//注意编码参数的选择
{
	while(!reader.EndOfStream)
		Consol.WriteLine(reader.ReadLine());
}

写入文本

using(StreamWriter writer = new StreamWriter("path",true))//追加还是覆盖
{
	writer.Write("新信息");
}

绝对路径加“@”,相对路径不加。建议使用相对路径
注意编码的正确转换(Encoding),编码解码的一致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值