C# 文件,文件夾的操作
C# 文件操作(文件夾 及 文件)
目錄操作
string[] drives = Directory.GetLogicalDrives(); //本地驅動器的名,如:C:/等
string path = Directory.GetCurrentDirectory(); //獲取應用程序的當前工作目錄
Path.GetFileName(@"c:/dir/file.txt"); //獲取子目錄的名字,result的結果是file.txt
Directory.GetFiles(路徑及文件名) //獲取指定目錄中的文件名(文件列表)
DirectoryInfo di = new DirectoryInfo(@"f:/MyDir"); //構造函數創建目錄
DirectoryInfo di=Directory.CreateDirectory(@"f:/bbs"); //創建對象並創建目錄
if (di.Exists == false) //檢查是否存在此目錄
di.Create(); //創建目錄
DirectoryInfo dis = di.CreateSubdirectory("SubDir"); //以相對路徑創建子目錄
dis.Delete(true); //刪除剛創建的子目錄
di.Delete(true); //刪除創建目錄
文件夾操作
Directory.Delete(@"f:/bbs2", true); //刪除目錄及其子目錄和內容(如為假不能刪除有內容的目錄包括子目錄)
Directory.GetDirectories 方法 //獲取指定目錄中子目錄的名稱
string[] dirs = Directory.GetDirectories(@"f:/", "b*");
Console.WriteLine("此目錄中以b開頭的子目錄共{0}個!", dirs.Length);
foreach (string dir in dirs) { Console.WriteLine(dir); }
Directory.GetFileSystemEntries //獲取指定目錄中的目錄及文件名
Directory.GetLogicalDrives //檢索此計算機上格式為“<驅動器號>:/”的邏輯驅動器的名稱,【語法同上】
Directory.GetParent //用於檢索父目錄的路徑。
DirectoryInfo a = Directory.GetParent(path);
Console.WriteLine(a.FullName);Directory.Move //移動目錄及其在內的所有文件
Directory.Move(@"f:/bbs/1", @"f:/bbs/2"); //將文件夾1內的文件剪到文件夾2內 文件夾2是剛創建的
Stream // 對字節的讀寫操作(包含對異步操作的支持) Reading Writing Seeking
BinaryReader和BinaryWriter // 從字符串或原始數據到各種流之間的讀寫操作
FileStream類通過Seek()方法進行對文件的隨機訪問,默認為同步
TextReader和TextWriter //用於gb2312字符的輸入和輸出
StringReader和StringWriter //在字符串中讀寫字符
StreamReader和StreamWriter //在流中讀寫字符
BufferedStream 為諸如網絡流的其它流添加緩衝的一種流類型.
MemoryStream 無緩衝的流
NetworkStream 互聯網絡上的流
//編碼轉換
Encoding e1 = Encoding.Default; //取得本頁默認代碼
Byte[] bytes = e1.GetBytes("中國人民解放軍"); //轉為二進製
string str = Encoding.GetEncoding("UTF-8").GetString(bytes); //轉回UTF-8編碼
文本文件操作:創建/讀取/拷貝/刪除
using System;
using System.IO;
class Test
{
string path = @"f:/t.txt";
public static void Main()
{
//創建並寫入(將覆蓋已有文件)
if (!File.Exists(path))
{
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine("Hello");
}
}
//讀取文件
using (StreamReader sr = File.OpenText(path))
{
string s = "";
while ((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
}
//刪除/拷貝
try
{
File.Delete(path);
File.Copy(path, @"f:/tt.txt");
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
//流文件操作
private const string name = "Test.data";
public static void Main(String[] args)
{
//打開文件() ,或通過File創建立如:fs = File.Create(path, 1024)
FileStream fs = new FileStream(name, FileMode.CreateNew);
//轉換為字節 寫入數據(可寫入中文)
Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
//字節數組,字節偏移量,最多寫入的字節數
fs.Write(info, 0, info.Length);
w.Close();
fs.Close();
//打開文件
fs = new FileStream(name, FileMode.Open, FileAccess.Read);
//讀取
BinaryReader r = new BinaryReader(fs);
for (int i = 0; i < 11; i++)
{
Console.WriteLine(r.ReadInt32());
}
w.Close();
fs.Close();
}
StreamReader sr = new StreamReader(fileName);
string str=sr.ReadLine ();
sr.close();
rw.WriteLine("寫入");
rw.WriteLine("abc");
rw.WriteLine(".NET筆記");
rw.Flush();
rw.Close();
StreamReader sr=File.OpenText(Server.MapPath(".")+"//myText.txt");
StringBuilder output=newStringBuilder();
string rl;
while((rl=sr.ReadLine())!=null)
{
output.Append(rl+"");
}
sr.Close();
//C#追加文件
StreamWriter sw=File.AppendText(Server.MapPath(".")+"//myText.txt");
sw.WriteLine("追逐理想");
sw.WriteLine("kzlll");
sw.WriteLine(".NET筆記");
sw.Flush();
sw.Close();
string OrignFile,NewFile;
OrignFile=Server.MapPath(".")+"//myText.txt";
NewFile=Server.MapPath(".")+"//myTextCopy.txt";
File.Copy(OrignFile,NewFile,true);
string OrignFile,NewFile;
OrignFile=Server.MapPath(".")+"//myText.txt";
NewFile=Server.MapPath(".")+"//myTextCopy.txt";
File.Move(OrignFile,NewFile);
//創建目錄c:/sixAge
DirectoryInfod=Directory.CreateDirectory("c://sixAge");
//d1指向c:/sixAge/sixAge1
DirectoryInfod1=d.CreateSubdirectory("sixAge1");
//d2指向c:/sixAge/sixAge1/sixAge1_1
DirectoryInfod2=d1.CreateSubdirectory("sixAge1_1");
//將當前目錄設為c:/sixAge
Directory.SetCurrentDirectory("c://sixAge");
//創建目錄c:/sixAge/sixAge2
Directory.CreateDirectory("sixAge2");
//創建目錄c:/sixAge/sixAge2/sixAge2_1
Directory.CreateDirectory("sixAge2//sixAge2_1");
最後更新:2017-04-02 06:51:26