香蕉视频app

香蕉视频appKeep on going never give up.

Let's Go

C# 學習筆記(34)Path類 和 File類 的基本操作

C#Lonely2019-05-14 21:04:3648次0條

Path類(路徑類)

//Path類是專門操作路徑的,使用前要引用命名空間

string str = @"C:\Users\Administrator\Desktop\Test.txt";

//獲取文件名
Console.WriteLine(Path.GetFileName(str)); //Test.txt

//獲取文件名,但不包含擴展名
Console.WriteLine(Path.GetFileNameWithoutExtension(str)); //Test

//獲取文件夾所在路徑的名稱
Console.WriteLine(Path.GetDirectoryName(str)); //C:\Users\Administrator\Desktop

//獲取文件全路徑
Console.WriteLine(Path.GetFullPath(str)); //C:\Users\Administrator\Desktop\Test.txt

//組合路徑
Console.WriteLine(Path.Combine(@"D:\影視資源\電影\", "西虹市首富.mp4")); //D:\影視資源\電影\西虹市首富.mp4

File類(文件類)

//File類缺點:只能讀取小文件

string path = @"C: \Users\Administrator\Desktop\Test.txt";
//在指定路徑中創建或覆蓋文件
File.Create(path);
Console.WriteLine("創建成功");

//刪除一個文件,徹底刪除,回收站也沒有
File.Delete(path);
Console.WriteLine("刪除成功");

if (File.Exists(path)) //判斷文件是否存在
{
    //將現有文件復制到新文件,不允許覆蓋同名文件,否則報錯
    string newFilePath = @"C: \Users\Administrator\Desktop\記事本.txt";
    if (!File.Exists(newFilePath))
    {
        File.Copy(path, newFilePath);
        Console.WriteLine("復制成功");
    }
    else
        Console.WriteLine("不允許覆蓋同名文件");
}

//剪切文件
File.Move(path, @"C: \Test.txt");
Console.WriteLine("剪切成功");

//讀數據

//方法一:以字節的形式進行讀取,當我們讀取的不是文本文件,而是多媒體文件,比如音樂文件,視頻文件,圖片文件等文件的時候,我們就需要用ReadAllBytes();方法去讀取.
byte[] buffer = File.ReadAllBytes(path);
//將字符數組中的每一個元素都要按照我們指定的編碼格式解碼成字符串
//什么是編碼:將字符串以什么樣的形式保存為二進制。
//產生亂碼的原因:就是保存這個文件所采用的編碼,跟你打開這個文件所采用的編碼格式不一樣。
string s = Encoding.Default.GetString(buffer);
Console.WriteLine(s);

//方法二:以行的形式進行讀取(只能讀文本文件),返回數組,能精確操控到每行數據
string[] strArr = File.ReadAllLines(path, Encoding.Default);
foreach (string item in strArr)
{
    Console.WriteLine(item);
}

//方法三:(只能讀文本文件),返回字符串
string str = File.ReadAllText(path, Encoding.Default);
Console.WriteLine(str);

//寫數據
//如果沒有這個文件的話,會給你創建一個,有的話,會給你覆蓋掉其他內容。

//方法一:
string myStr = "Hello,world!";
//需要將字符串轉換成字節數組
byte[] arr = Encoding.Default.GetBytes(myStr);
File.WriteAllBytes(path, arr);
Console.WriteLine("寫入成功");

//方法二:
File.WriteAllLines(path, new string[] { "我是", "以數組", "的形式", "寫入", "數據" }); //寫一行換一行
Console.WriteLine("寫入成功");

//方法三:
File.WriteAllText(path, "我在寫入數據");
Console.WriteLine("寫入成功");

//追加數據(不會覆蓋原有的數據)

//方法一:
File.AppendAllText(path, "我沒有把你覆蓋掉");
Console.WriteLine("追加數據成功");

//方法二:
File.AppendAllLines(path, new string[] { "我是", "以數組", "的形式", "追加", "數據" });
Console.WriteLine("追加數據成功");

Console.ReadKey();
暗錨,解決錨點偏移

文章評論

    嘿,來試試登錄吧!