C#利用File方法對文件的操作總結(jié)(字節(jié)寫入和讀取)
C#文件的讀和寫提供了非常多的方法基本一兩行就可以搞定“讀和寫”,在編程里還是比較重要的
什么是讀?
你的程序去讀你磁盤里的文件
上面是寫?
你的程序在你磁盤創(chuàng)建文件
有什么用?
可以保存數(shù)據(jù),用戶等2次打開時就不用重新加載,或者軟件異常,把異常信息或日志信息等進(jìn)行保存
@符作用:
路徑使用是字符串類型,而路徑有非常多的“ \”
而如\n表示的是換行,為了不讓這些“\”起到轉(zhuǎn)義的意思
在路徑前使用@表示這字符串并不需要其轉(zhuǎn)義
所以寫路徑必須得在前面加@符號,或者使用
兩個“\\”代替 如:““E:\\1.txt””
如果路徑特別長…不建議這樣(簡直就是腦血栓)
創(chuàng)建文件:
在E盤創(chuàng)建了一個名為1.txt的文本文件
File.Create(@"E:\1.txt");

創(chuàng)建成功
刪除文件:
刪除E盤下的1.txt文件
File.Delete(@"1.txt");
判斷文件是否存在:
返回的是一個布爾值
bool a = File.Exists(@"E:\1.txt");
true 為存在
false 為不存在
和英語考試的判斷題一樣,對就T 錯的就F…

上面把他刪了,所以就不存在,false
也可以這樣寫:
if (File.Exists(@"D:\1.txt"))
{
Console.Write("文件存在");
}
else {
Console.Write("文件不存在");
}
復(fù)制文件:

把學(xué)習(xí)資料從E盤復(fù)制到D盤
File.Copy(@"E:\學(xué)習(xí)資料.zip",@"D:\學(xué)習(xí)資料.zip");

復(fù)制成功
移動文件:
所謂的移動也就是剪切的意思
File.Move(@"D:\1.txt", @"E:\1.txt");
D盤剪切到E盤

成功
寫入:
C#提供了很多的寫入方法,
都大同小異都寫入的方式不一樣而已
WriteAllText:直接寫入
File.WriteAllText(@"E:\1.txt","6666");
把6666寫入到E盤的1.txt里

注意:如果文件不存在就自動創(chuàng)建并且寫入,還是比較方便的只有一行
WriteAllBytes:字節(jié)形式寫入
string str = "小馬哥的棺材板"; //創(chuàng)建寫入的字符串 byte[] a = Encoding.Default.GetBytes(str); //字符串轉(zhuǎn)成字節(jié) File.WriteAllBytes(@"E:\1.txt",a); //寫入
Encoding:表示編碼格式
Default:默認(rèn)編碼
GetBytes:轉(zhuǎn)成字節(jié)

寫入成功??!
WriteAllLines:行的形式寫入

需要注意的是第2個參數(shù)是一個字符串類型的數(shù)組
string[] a = { "1","2","3","4","5"};
File.WriteAllLines(@"E:\1.txt",a);
寫入成功

AppendAllText:追加寫入
上面的方法都是覆蓋的寫入,一般寫日志文件都是使用追加寫入
這樣就不會覆蓋了
原文本內(nèi)容:

File.AppendAllText(@"E:\1.txt", "6666");
追加寫入后:

可以注意到并沒有換行,如果數(shù)據(jù)多了不好看
可以使用轉(zhuǎn)義符進(jìn)行換行
File.AppendAllText(@"E:\1.txt", "6666"+"\r\n");
效果:

居然可以寫入文件當(dāng)然也可以讀取
讀?。?/h3>
Encoding:表示編碼格式
Default:默認(rèn)編碼
ReadAllText:讀取文本:
string str = File.ReadAllText(@"E:\1.txt", Encoding.Default); Console.WriteLine(str);

讀取成功??!
ReadAllLines:行的方式讀取
string[] str = File.ReadAllLines(@"E:\1.txt", Encoding.Default); //編碼格式默認(rèn)
for (int i = 0; i <= str.Length - 1; i++)
{
Console.WriteLine(str[i]);
}

每一個元素代表一行
如果我只想拿到第一行的內(nèi)容:
string[] str = File.ReadAllLines(@"E:\1.txt", Encoding.Default); Console.WriteLine(str[0]);

ReadAllBytes:字節(jié)形式讀取
byte[] a = File.ReadAllBytes(@"E:\1.txt"); //讀取文件轉(zhuǎn)成字節(jié) string str = Encoding.Default.GetString(a); //把字節(jié)轉(zhuǎn)成字符串 Console.WriteLine(str);

以上就是File類的常用方法了
總結(jié)
到此這篇關(guān)于C#利用File方法對文件操作的文章就介紹到這了,更多相關(guān)C#用File方法對文件操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于C#的UDP協(xié)議的同步通信實現(xiàn)代碼
本篇文章主要介紹了基于C#的UDP協(xié)議的同步實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
Windows系統(tǒng)中C#讀寫ini配置文件的程序代碼示例分享
這篇文章主要介紹了C#讀寫ini配置文件的程序代碼示例分享,在Windows下可以利用Win32的API函數(shù)輕松實現(xiàn),需要的朋友可以參考下2016-04-04
c#基礎(chǔ)系列之System.String的深入理解
這篇文章主要給大家介紹了關(guān)于c#基礎(chǔ)系列之System.String的深入理解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
C#利用delegate實現(xiàn)Javascript的each方法
這篇文章主要為大家介紹了介紹了C#利用delegate實現(xiàn)Javascript的each方法,感興趣的朋友可以參考一下2016-01-01
C#中async await異步關(guān)鍵字用法和異步的底層原理全解析
這篇文章主要介紹了C#中async await異步關(guān)鍵字用法和異步的底層原理全解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2025-04-04

