奇酷教育VR高級入門教程41:文件IO的應用實例
如何獲得某個盤符或者路徑下的所有目錄和子目錄的信息呢?
using System;
using System.IO;
public class Files
{
//將string 改變?yōu)镈irectoryInfo
public static void dispDirs(DirectoryInfo dir)
{
Console.WriteLine("{0}", dir.FullName);
//返回目錄中的目錄列表對象
DirectoryInfo[] directories = dir.GetDirectories();
foreach (DirectoryInfo dirX in directories)
{
dispDirs(dirX);
}
}
public static void Main(String[] args)
{
//保存目錄存在
DirectoryInfo dir = new DirectoryInfo("D:\\TOOLS");
if (dir.Exists)
dispDirs(dir);
else
Console.WriteLine("訪問目錄不存在!");
Console.Read();
}
}
文件管理
File類通常和FileStream類協作來完成對文件的創(chuàng)建、刪除、拷貝、移動、打開等操作。
File類提供的靜態(tài)方法主要有Create、Copy、Move、Delete、GetLastAccessTime 等,利用它們可以完成一些基本的文件管理。也可以通過FileInfo類來實現同樣的操作。
獲取文件基本信息
1 獲取文件的大小
new FileStream(path).Length
2 獲取文件擴展名
Path.GetExtension(path)
3 獲取文件創(chuàng)建時間
File.GetCreationTime(path);
4 獲取文件最后一次修改時間
File.GetLastAccessTime(path);
5 獲取文件名禁止使用的字符
Path.GetInvalidPathChars();
文件流
StreamReader和StreamWriter類提供以一種特定的編碼從字節(jié)流中讀取字符。
文件流獲得
通過File類中的Open、OpenRead、OpenWrite獲得FileStream文件流。
通過AppendText可獲得UTF-8編碼格式的StreamReader類對象。
文件的讀取和寫入
1 創(chuàng)建一個文件用于寫入UTF-8編碼的文本
2 OpenRead方法打開現有文件并讀取
3 OpenWrite方法打開現有文件并進行寫入
4 打開現有UTF-8編碼文本文件并進行讀取
5 讀取文件中的第一行數據
6 按行讀取文本文件中的數據
7 讀取文件中的所有數據
8 向文件中寫入追加數據
二進制讀寫文件
BinaryReader 和BinaryWriter 類,用于按二進制模式讀寫文件。
它們提供的一些讀寫方法是對稱的,比如針對不同的數據結構,BinaryReader提供了ReadByte、ReadBoolean、ReadInt、ReadInt16、ReadDouble、ReadString等方法,而BinaryWriter 則提供了重載了17次的Write 方法。
BinaryReader讀取數據所用方法必須和BinaryWriter寫入數據所用方法對應。