C#学习笔记——I/O类及异常捕获
一、I/O类
System.IO 命名空间中有各种不同的类,用于执行各种文件操作,如创建和删除文件、读取或写入文件,关闭文件等。
1、Path类
该方法主要获取路径、文件夹名称等
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace LIST
{
class PathClass
{
static void Main()
{
//获取文件的扩展名
Console.WriteLine(Path.GetExtension(@"C:\Users\Administrator\Desktop\新建文本文档.txt"));
//更改文件的扩展名
Console.WriteLine(Path.ChangeExtension(@"C:\Users\Administrator\Desktop\新建文本文档.txt","jpg"));
//获得文所在文件夹的路径
string str = Path.GetDirectoryName(@"C:\Users\Administrator\Desktop\新建文本文档.txt");
Console.WriteLine(str);
//获取文件的名字
Console.WriteLine(Path.GetFileName(@"C:\Users\Administrator\Desktop\新建文本文档.txt"));
//活期文件的名字但不包含扩展名
Console.WriteLine(Path.GetFileNameWithoutExtension(@"C:\Users\Administrator\Desktop\新建文本文档.txt"));
//连接一个目录和一个文件
string str2 = Path.Combine(@"C:\Users\Administrator\Desktop", "新建文本文档.txt");
Console.WriteLine(str2);
//获取文件的全部路径
string str3= Path.GetFullPath(@"C:\Users\Administrator\Desktop\新建文本文档.txt");
Console.WriteLine(str3);
}
}
}
2、File类
1>编码
编码:将数据以怎样的形式保存为二进制
- 编码发展史
----ASC 128
----ASCII 256
----GB2312 简体字
----BIG 繁体字
----UniCode(解析慢)
----UTF-8(web)
乱码原因:保存文件采用的编码与打开文件采用的编码格式不一样
2>File类相关方法
- 基本操作
---- creat 创建文件
---- delete 删除文件
---- copy 复制文件
---- exists 文件是否存在
---- move 移动/剪切文件
---- ReadAllBytes、ReadAllLines、ReadAllText 文件读取的三种方式
---- WriteAllBytes 、WriteAllLines、WriteAllText 文件覆盖写入的的三种方式
---- AppendAllText、AppendAllLines
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
namespace LIST
{
class Flies
{
static void Main()
{
//创建一个文件
File.Create(@"C:\Users\Administrator\Desktop\new.txt");
Console.WriteLine("创建成功");
//删除一个文件
File.Delete(@"C:\Users\Administrator\Desktop\new.txt");
Console.WriteLine("删除成功");
//复制一个文件
File.Copy(@"C:\Users\Administrator\Desktop\新建文本文档.txt", @"C:\Users\Administrator\Desktop\new.txt");
Console.WriteLine("复制成功");
//判存
bool b= File.Exists(@"C:\Users\Administrator\Desktop\new.txt");
Console.WriteLine(b);
//移动/剪切
File.Move(@"C:\Users\Administrator\Desktop\new.txt", @"C:\Users\x.txt");
//Console.WriteLine("剪切成功");
#region ReadAllBytes 按字节读取
byte[] buffer = File.ReadAllBytes(@"C:\Users\Administrator\Desktop\x.txt");
//将二进制转换为字符串
string str = Encoding.Default.GetString(buffer);
Console.WriteLine(str);
#