1.查看文件文件夹的信息
通过FileInfo类获取文件相关信息
static void Main(string[] args)
{
//相对路径:找当前程序的文件路径
//绝对路径:加上文件完整的路径名
FileInfo fileInfo = new FileInfo(@"F:\unity project\C sharp 高级篇\文件操作\bin\Debug\TextFile1.txt");
Console.WriteLine(fileInfo.Exists);//判断该文件是否存在
Console.WriteLine(fileInfo.Name);//文件名.后缀
Console.WriteLine(fileInfo.Directory);
Console.WriteLine(fileInfo.Length);
Console.WriteLine(fileInfo.IsReadOnly);
Console.ReadKey();
}
通过CopyTo将文件复制到当前目录下
//将文件复制到当前目录下
fileInfo.CopyTo("t.txt");
创建文件
FileInfo fileInfo = new FileInfo("none.txt");
if(fileInfo.Exists == false)
{
fileInfo.Create();//创建当前文件
}
重命名操作
FileInfo fileInfo = new FileInfo("none.txt");
fileInfo.MoveTo("yeap.txt");//相当于重命名操作
2.文件的读写
通过一行一行的读取,将读取的内容存放在一个string[]中
string[] strArray = File.ReadAllLines("IOtext.txt");
foreach (string temp in strArray)
{
Console.WriteLine(temp);
}
通过ReadAllText方法,将文本存储到一个text文件中
string s = File.ReadAllText("IOtext.txt");
Console.WriteLine(s);
读取byte的数据
byte[] byteArray = File.ReadAllBytes("pic.jpg");
foreach (var b in byteArray)
{
Console.Write(b);
}
File文件的写入和读取是相对应的
File.WriteAllText("textfile2.txt", "hello 中国");
File.WriteAllLines("textfile3.txt", new string[] { "frist line", "aaaall", "一句话" });
使用FileStream来进行文件的读取
//1.创建文件流 用来操作文件
FileStream stream = new FileStream("TextFile1.txt", FileMode.Open);
//2.读取或者写入数据
byte[] data = new byte[1024];
//1 byte = 1字节 1024byte = 1kb
int length = stream.Read(data,0,data.Length);
for(int i = 0; i < length; i++)
{
Console.Write(data[i] + " ");
}
3.StreamReader和StreamWriter读写文本文件
通过StreamReader读取文件,使用ReadLine()方法
//创建文本文件读取流
StreamReader reader = new StreamReader("test.txt");
while (true)
{
string str = reader.ReadLine();
if(str == null)
{
break;
}
Console.WriteLine(str);
}
使用ReadToEnd()方法,直接读取文本中的全部data存储到一个string中
string str = reader.ReadToEnd();//读取到文本的结尾
Console.WriteLine(str);
reader.Close();
使用Read()方法,每次读取一个字符。当文本没有数据的时候返回-1
while (true)
{
int res = reader.Read();
if(res == -1)
{
break;
}
else
{
Console.Write((char)res);
}
}
使用StreamWriter写入信息
StreamWriter writer = new StreamWriter("textfile2.txt");
while (true)
{
string message = Console.ReadLine();
if(message == "q")
{
break;
}
//writer.Write(message);//写入一个字符串
writer.WriteLine(message);//写入一个字符串并换行
}
writer.Close();