System.IO是C#中用于輸入和輸出操作的命名空間。它提供了許多類和方法,用于處理文件、文件夾和流的讀取和寫入操作。以下是一些System.IO命名空間中常用的類和功能:
File類:用于創(chuàng)建、復(fù)制、移動(dòng)、刪除和讀寫文件等操作。它包含一組靜態(tài)方法,例如Create、Copy、Move、Delete、ReadAllText、WriteAllText等。
Directory類:用于創(chuàng)建、復(fù)制、移動(dòng)和刪除文件夾等操作。它包含一組靜態(tài)方法,例如CreateDirectory、Copy、Move、Delete等。
Path類:用于處理文件和文件夾路徑的常見操作。它包含一組靜態(tài)方法,例如Combine(用于組合路徑)、GetExtension(獲取文件擴(kuò)展名)、GetFileName(獲取文件名)等。
FileStream類:用于在文件中進(jìn)行讀取和寫入操作的流。它允許你以字節(jié)為單位讀取和寫入文件內(nèi)容。
StreamReader和StreamWriter類:用于以文本方式讀取和寫入文件內(nèi)容的流。它們提供了更方便的方法,如逐行讀取和寫入文本數(shù)據(jù)。
BinaryReader和BinaryWriter類:用于以二進(jìn)制格式讀取和寫入文件內(nèi)容的流。它們?cè)试S你以字節(jié)為單位讀取和寫入數(shù)據(jù),適用于處理二進(jìn)制文件。
這些只是System.IO命名空間中一些常用的類和功能。你可以通過查閱官方文檔或參考資料來了解更多類和方法的詳細(xì)信息和用法。
-
File類:用于創(chuàng)建、復(fù)制、移動(dòng)、刪除和讀寫文件等操作
File 類是 System.IO 命名空間中用于執(zhí)行文件相關(guān)操作的靜態(tài)類。它提供了一組方法,用于創(chuàng)建、復(fù)制、移動(dòng)、刪除和讀寫文件等操作。以下是 File 類的一些常用方法和用法:
創(chuàng)建文件:
string filePath = "C:\\path\\to\\file.txt";
File.Create(filePath);
上述代碼創(chuàng)建了一個(gè)名為 "C:\\path\\to\\file.txt" 的文件。你可以使用 Create 方法來創(chuàng)建文件,并返回一個(gè) FileStream 對(duì)象以進(jìn)行進(jìn)一步的讀寫操作。
復(fù)制文件:
string sourceFilePath = "C:\\path\\to\\source.txt";
string destFilePath = "C:\\path\\to\\destination.txt";
File.Copy(sourceFilePath, destFilePath);
以上代碼將名為 "source.txt" 的文件復(fù)制到 "destination.txt"。
移動(dòng)文件:
string sourceFilePath = "C:\\path\\to\\source.txt";
string destFilePath = "C:\\path\\to\\destination.txt";
File.Move(sourceFilePath, destFilePath);
以上代碼將名為 "source.txt" 的文件移動(dòng)到 "destination.txt"。如果目標(biāo)文件已存在,將被覆蓋。
刪除文件:
string filePath = "C:\\path\\to\\file.txt";
File.Delete(filePath);
以上代碼刪除名為 "file.txt" 的文件。
讀取文件內(nèi)容:
string filePath = "C:\\path\\to\\file.txt";
string content = File.ReadAllText(filePath);
以上代碼將文件 "file.txt" 的內(nèi)容作為字符串讀取到變量 content 中。你還可以使用 File.ReadAllLines 方法逐行讀取文件內(nèi)容,或使用 File.OpenRead 方法創(chuàng)建一個(gè) FileStream 對(duì)象進(jìn)行更底層的讀取操作。
寫入文件內(nèi)容:
string filePath = "C:\\path\\to\\file.txt";
string content = "Hello, World!";
File.WriteAllText(filePath, content);
以上代碼將字符串內(nèi)容寫入文件 "file.txt"。你還可以使用 File.WriteAllLines 方法寫入字符串?dāng)?shù)組的內(nèi)容,或使用 File.OpenWrite 方法創(chuàng)建一個(gè) FileStream 對(duì)象進(jìn)行更底層的寫入操作。
File 類還提供了其他方法和屬性,如檢查文件是否存在、獲取文件的創(chuàng)建時(shí)間和修改時(shí)間、獲取文件的大小等。你可以進(jìn)一步探索官方文檔和參考資料,以了解更多關(guān)于 File 類的詳細(xì)信息和用法。
請(qǐng)注意,在執(zhí)行文件操作時(shí)要小心處理文件的讀寫權(quán)限,并遵循正確的異常處理和資源管理實(shí)踐,以確保文件操作的安全性和可靠性。
-
Directory類:用于創(chuàng)建、復(fù)制、移動(dòng)和刪除文件夾等操作
Directory類是System.IO命名空間中用于處理文件夾(目錄)的操作的主要類。它提供了許多方法來創(chuàng)建、復(fù)制、移動(dòng)和刪除文件夾。以下是一些Directory類常用的方法:
CreateDirectory:創(chuàng)建一個(gè)新的文件夾。
string path = "C:\\path\\to\\folder";
Directory.CreateDirectory(path);
Delete:刪除指定的文件夾。
string path = "C:\\path\\to\\folder";
Directory.Delete(path);
Move:將文件夾移動(dòng)到新的位置。
string sourcePath = "C:\\path\\to\\folder";
string destinationPath = "C:\\new\\path\\to\\folder";
Directory.Move(sourcePath, destinationPath);
Exists:檢查文件夾是否存在。
string path = "C:\\path\\to\\folder";
bool exists = Directory.Exists(path);
GetDirectories:獲取指定文件夾中的所有子文件夾的路徑。
string path = "C:\\parent\\folder";
string[] subDirectories = Directory.GetDirectories(path);
foreach (string subDirectory in subDirectories)
{
? ? Console.WriteLine(subDirectory);
}
GetFiles:獲取指定文件夾中的所有文件的路徑。
string path = "C:\\parent\\folder";
string[] files = Directory.GetFiles(path);
foreach (string file in files)
{
? ? Console.WriteLine(file);
}
Copy:復(fù)制文件夾及其內(nèi)容到新的位置。
string sourcePath = "C:\\source\\folder";
string destinationPath = "C:\\destination\\folder";
Directory.Copy(sourcePath, destinationPath);
上述方法提供了一些常見的文件夾操作,但還有其他更多的方法可以進(jìn)一步探索和學(xué)習(xí)。請(qǐng)注意,在進(jìn)行文件夾操作時(shí),確保對(duì)于需要的操作具有適當(dāng)?shù)臋?quán)限和安全性。
-
Path類:用于處理文件和文件夾路徑的常見操作。
Path類是System.IO命名空間中用于處理文件和文件夾路徑的常見操作的類。它提供了一組靜態(tài)方法,可以輕松處理路徑字符串。以下是一些Path類常用的方法:
Combine:將多個(gè)字符串組合成一個(gè)路徑字符串。
string path1 = "C:\\path\\to";
string path2 = "file.txt";
string combinedPath = Path.Combine(path1, path2);
// 結(jié)果:C:\path\to\file.txt
GetFileName:從路徑字符串中獲取文件名(包括文件擴(kuò)展名)。
string path = "C:\\path\\to\\file.txt";
string fileName = Path.GetFileName(path);
// 結(jié)果:file.txt
GetDirectoryName:從路徑字符串中獲取文件夾路徑。
string path = "C:\\path\\to\\file.txt";
string directoryName = Path.GetDirectoryName(path);
// 結(jié)果:C:\path\to
GetExtension:從路徑字符串中獲取文件的擴(kuò)展名。
string path = "C:\\path\\to\\file.txt";
string extension = Path.GetExtension(path);
// 結(jié)果:.txt
GetFileNameWithoutExtension:從路徑字符串中獲取文件名(不包括擴(kuò)展名)。
string path = "C:\\path\\to\\file.txt";
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(path);
// 結(jié)果:file
GetFullPath:獲取指定路徑字符串的絕對(duì)路徑。
string relativePath = "folder\\file.txt";
string fullPath = Path.GetFullPath(relativePath);
// 結(jié)果:C:\current\directory\folder\file.txt
這些方法可以幫助你執(zhí)行常見的路徑操作,如組合路徑、提取文件名和文件夾路徑、獲取文件擴(kuò)展名等。Path類還提供了其他方法,如處理根路徑、路徑規(guī)范化和路徑比較等。你可以查閱官方文檔以了解更多詳細(xì)信息和用法。
使用Path類時(shí),確??紤]不同操作系統(tǒng)(例如Windows和Linux)對(duì)路徑的約定和差異,以確保你的代碼在不同環(huán)境中正確工作。
-
FileStream類:用于在文件中進(jìn)行讀取和寫入操作的流。
FileStream類是System.IO命名空間中用于在文件中進(jìn)行讀取和寫入操作的流的主要類。它提供了直接對(duì)文件進(jìn)行讀寫的功能,以字節(jié)為單位進(jìn)行操作。以下是FileStream類的一些常用方法和用法:
創(chuàng)建 FileStream 對(duì)象:
string filePath = "C:\\path\\to\\file.txt";
FileStream fileStream = new FileStream(filePath, FileMode.Open);
上述代碼創(chuàng)建了一個(gè) FileStream 對(duì)象,將文件 "C:\\path\\to\\file.txt" 以只讀模式打開。
讀取文件內(nèi)容:
byte[] buffer = new byte[1024]; // 定義一個(gè)緩沖區(qū)
int bytesRead = fileStream.Read(buffer, 0, buffer.Length); // 從文件中讀取數(shù)據(jù)到緩沖區(qū)
string content = Encoding.UTF8.GetString(buffer, 0, bytesRead); // 將字節(jié)轉(zhuǎn)換為字符串
以上代碼從文件中讀取數(shù)據(jù),并將其存儲(chǔ)在緩沖區(qū)中。然后使用適當(dāng)?shù)木幋a將字節(jié)轉(zhuǎn)換為字符串。
寫入文件內(nèi)容:
string content = "Hello, World!";
byte[] buffer = Encoding.UTF8.GetBytes(content); // 將字符串轉(zhuǎn)換為字節(jié)
fileStream.Write(buffer, 0, buffer.Length); // 將字節(jié)寫入文件
以上代碼將字符串轉(zhuǎn)換為字節(jié),并將字節(jié)寫入文件。
關(guān)閉 FileStream:
fileStream.Close(); // 關(guān)閉文件流
確保在不再需要使用 FileStream 對(duì)象時(shí),及時(shí)關(guān)閉它以釋放資源。
FileStream 類還提供了其他方法和屬性,如 Seek(設(shè)置流的位置)、Flush(刷新流的緩沖區(qū))和 Length(獲取文件長度)等。你可以進(jìn)一步探索官方文檔和參考資料,以了解更多關(guān)于 FileStream 類的詳細(xì)信息和用法。
請(qǐng)注意,在使用 FileStream 時(shí)要小心處理文件的讀寫權(quán)限,并遵循正確的異常處理和資源管理實(shí)踐,以確保文件操作的安全性和可靠性。
-
StreamReader和StreamWriter類:用于以文本方式讀取和寫入文件內(nèi)容的流。
StreamReader 和 StreamWriter 類是 System.IO 命名空間中用于以文本方式讀取和寫入文件內(nèi)容的流的類。它們提供了更方便的方法來處理文本數(shù)據(jù),而不需要直接與字節(jié)進(jìn)行交互。以下是 StreamReader 和 StreamWriter 類的一些常用方法和用法:
創(chuàng)建 StreamReader 對(duì)象:
string filePath = "C:\\path\\to\\file.txt";
StreamReader reader = new StreamReader(filePath);
上述代碼創(chuàng)建了一個(gè) StreamReader 對(duì)象,將文件 "C:\\path\\to\\file.txt" 以默認(rèn)編碼方式打開進(jìn)行讀取。
逐行讀取文件內(nèi)容:
string line;
while ((line = reader.ReadLine()) != null)
{
? ? Console.WriteLine(line);
}
以上代碼逐行讀取文件內(nèi)容并輸出每行的內(nèi)容。ReadLine() 方法返回文件中的下一行文本,并在到達(dá)文件末尾時(shí)返回 null。
讀取整個(gè)文件內(nèi)容:
string content = reader.ReadToEnd();
以上代碼將文件的全部內(nèi)容讀取為一個(gè)字符串。
創(chuàng)建 StreamWriter 對(duì)象:
string filePath = "C:\\path\\to\\file.txt";
StreamWriter writer = new StreamWriter(filePath);
上述代碼創(chuàng)建了一個(gè) StreamWriter 對(duì)象,用于將文本寫入文件 "C:\\path\\to\\file.txt"。
寫入文本到文件:
string content = "Hello, World!";
writer.Write(content);
以上代碼將文本內(nèi)容寫入文件。
關(guān)閉 StreamReader 和 StreamWriter:
reader.Close(); // 關(guān)閉 StreamReader
writer.Close(); // 關(guān)閉 StreamWriter
確保在不再需要使用 StreamReader 和 StreamWriter 對(duì)象時(shí),及時(shí)關(guān)閉它們以釋放資源。
StreamReader 和 StreamWriter 類還提供了其他方法和屬性,如設(shè)置編碼、讀取特定長度的文本、寫入換行符等。你可以進(jìn)一步探索官方文檔和參考資料,以了解更多關(guān)于 StreamReader 和 StreamWriter 類的詳細(xì)信息和用法。
請(qǐng)注意,使用 StreamReader 和 StreamWriter 時(shí)要小心處理文件的讀寫權(quán)限,并遵循正確的異常處理和資源管理實(shí)踐,以確保文本數(shù)據(jù)的安全性和可靠性。
如設(shè)置編碼、讀取特定長度的文本、寫入換行符等
當(dāng)使用 StreamReader 和 StreamWriter 類時(shí),你可以通過構(gòu)造函數(shù)和屬性來設(shè)置編碼方式,并使用相應(yīng)的方法來讀取特定長度的文本和寫入換行符。
設(shè)置編碼方式:
// 使用指定的編碼方式創(chuàng)建 StreamReader 對(duì)象
StreamReader reader = new StreamReader(filePath, Encoding.UTF8);
// 使用指定的編碼方式創(chuàng)建 StreamWriter 對(duì)象
StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8);
在上述示例中,使用 Encoding.UTF8 來指定以 UTF-8 編碼方式進(jìn)行讀寫操作。你可以根據(jù)需要選擇不同的編碼方式,例如 Encoding.ASCII、Encoding.Unicode 等。
讀取特定長度的文本:
char[] buffer = new char[1024]; // 定義一個(gè)緩沖區(qū)
int charsRead = reader.Read(buffer, 0, buffer.Length); // 從流中讀取字符到緩沖區(qū)
string text = new string(buffer, 0, charsRead); // 將字符數(shù)組轉(zhuǎn)換為字符串
上述代碼示例讀取最多 buffer.Length 個(gè)字符,并將它們存儲(chǔ)在緩沖區(qū)中。然后使用實(shí)際讀取的字符數(shù)創(chuàng)建一個(gè)新的字符串。
寫入換行符:
writer.WriteLine(); // 寫入一個(gè)換行符
上述代碼示例寫入一個(gè)換行符到文件中。WriteLine 方法會(huì)根據(jù)平臺(tái)的換行約定自動(dòng)寫入相應(yīng)的換行符。
除了上述示例,StreamReader 和 StreamWriter 類還提供了其他方法和屬性,如設(shè)置緩沖區(qū)大小、檢測流的末尾、控制是否自動(dòng)刷新緩沖區(qū)等。你可以查閱官方文檔以了解更多關(guān)于 StreamReader 和 StreamWriter 類的詳細(xì)信息和用法。
記住,在使用 StreamReader 和 StreamWriter 時(shí),要注意處理文件的讀寫權(quán)限,并遵循正確的異常處理和資源管理實(shí)踐,以確保文本數(shù)據(jù)的安全性和可靠性。
-
BinaryReader和BinaryWriter類:用于以二進(jìn)制格式讀取和寫入文件內(nèi)容的流。
BinaryReader 和 BinaryWriter 類是 System.IO 命名空間中用于以二進(jìn)制格式讀取和寫入文件內(nèi)容的流的類。它們提供了對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行讀寫的功能,允許以更底層的方式處理數(shù)據(jù)。以下是 BinaryReader 和 BinaryWriter 類的一些常用方法和用法:
創(chuàng)建 BinaryReader 對(duì)象:
string filePath = "C:\\path\\to\\file.bin";
FileStream fileStream = new FileStream(filePath, FileMode.Open);
BinaryReader reader = new BinaryReader(fileStream);
上述代碼創(chuàng)建了一個(gè) BinaryReader 對(duì)象,將文件 "C:\\path\\to\\file.bin" 以只讀模式打開進(jìn)行二進(jìn)制讀取。
讀取二進(jìn)制數(shù)據(jù):
int intValue = reader.ReadInt32(); // 讀取一個(gè) int 值
double doubleValue = reader.ReadDouble(); // 讀取一個(gè) double 值
byte[] buffer = new byte[1024];
int bytesRead = reader.Read(buffer, 0, buffer.Length); // 讀取字節(jié)數(shù)組
以上代碼示例演示了幾個(gè)常用的讀取方法。ReadInt32 讀取一個(gè) 32 位整數(shù),ReadDouble 讀取一個(gè)雙精度浮點(diǎn)數(shù),Read 讀取指定長度的字節(jié)數(shù)組。
創(chuàng)建 BinaryWriter 對(duì)象:
string filePath = "C:\\path\\to\\file.bin";
FileStream fileStream = new FileStream(filePath, FileMode.Create);
BinaryWriter writer = new BinaryWriter(fileStream);
上述代碼創(chuàng)建了一個(gè) BinaryWriter 對(duì)象,用于將二進(jìn)制數(shù)據(jù)寫入文件 "C:\\path\\to\\file.bin"。
寫入二進(jìn)制數(shù)據(jù):
int intValue = 42;
double doubleValue = 3.14;
byte[] buffer = new byte[] { 0x01, 0x02, 0x03 };
writer.Write(intValue); // 寫入一個(gè) int 值
writer.Write(doubleValue); // 寫入一個(gè) double 值
writer.Write(buffer, 0, buffer.Length); // 寫入字節(jié)數(shù)組
以上代碼示例演示了幾個(gè)常用的寫入方法。Write 方法用于寫入不同類型的二進(jìn)制數(shù)據(jù),包括整數(shù)、浮點(diǎn)數(shù)和字節(jié)數(shù)組。文章來源:http://www.zghlxwxcb.cn/news/detail-497839.html
關(guān)閉 BinaryReader 和 BinaryWriter:
reader.Close(); // 關(guān)閉 BinaryReader
writer.Close(); // 關(guān)閉 BinaryWriter
確保在不再需要使用 BinaryReader 和 BinaryWriter 對(duì)象時(shí),及時(shí)關(guān)閉它們以釋放資源。
BinaryReader 和 BinaryWriter 類還提供了其他方法和屬性,如讀取和寫入不同大小的整數(shù)、浮點(diǎn)數(shù)、字符串和布爾值等。你可以進(jìn)一步探索官方文檔和參考資料,以了解更多關(guān)于 BinaryReader 和 BinaryWriter 類的詳細(xì)信息和用法。
請(qǐng)注意,在使用 BinaryReader 和 BinaryWriter 時(shí)要小心處理文件的讀寫權(quán)限,并遵循正確的異常文章來源地址http://www.zghlxwxcb.cn/news/detail-497839.html
到了這里,關(guān)于C#(System.IO)文件處理方法(全面)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!