C#檔案操作

來源:互聯網
上載者:User
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Example
{

class Program
{

static void Main(string[] args)
{
//////////////// 檔案開啟 下面的代碼開啟D:\wang.txt檔案,並且向檔案中寫入"hello"
FileStream textFile = File.Open(@"D:\wang.txt", FileMode.Append);//以Append方式開啟檔案(如果不存在,會建立)
byte[] info = { (byte)'h', (byte)'e', (byte)'l', (byte)'l', (byte)'o' };//要寫入的資訊
textFile.Write(info, 0, info.Length);//Write方法只能寫入byte數組
textFile.Close();//關閉檔案流


////////////////////// 檔案建立
FileStream newText = File.Create(@"D:\newText.txt");//建立檔案
newText.Close();//關閉檔案

//////////////////// 刪除檔案
File.Delete(@"d:\newText.txt");

////////////////// 檔案複製 如果目標檔案存在,不允許複製(就是不能覆蓋同名檔案)
//File.Copy(@"d:\wang.txt", @"d:\CopyWang.txt");


//////////////// 檔案移動 只能在同一個盤中移動 如果目標路徑不正確,不能移動
// File.Move(@"d:\CopyWang.txt", @"D:\A\movewang.txt");

//////////////////////// 設定檔案屬性為 唯讀,隱藏
//File.SetAttributes(@"D:\copywang.txt", FileAttributes.ReadOnly | FileAttributes.Hidden);//同時滿足多個屬性,必須用位或(|).

/////////////// 判斷檔案是不是存在
if (File.Exists(@"D:\copywang.txt"))//如果存在 即便是隱藏的檔案也可以找到
{
File.SetAttributes(@"D:\copywang.txt", FileAttributes.ReadOnly);//重新設定屬性後,隱藏的檔案也會顯示出來,只要不加Hidden屬性
Console.WriteLine("找到檔案copywang.txt");
}
else
{
Console.WriteLine("沒有找到檔案CopyWang.txt");
}
/*
此外,File類對於Text文本提供了更多的支援。
   ?AppendText:將文本追加到現有檔案
   ?CreateText:為寫入文本建立或開啟新檔案
   ?OpenText:開啟現有文字檔以進行讀取
   但上述方法主要對UTF-8的編碼文本進行操作,從而顯得不夠靈活。在這裡推薦讀者使用下面的代碼對txt檔案進行操作。
   ?對txt檔案進行“讀”操作,範例程式碼如下:
*/
StreamReader textReader = new StreamReader(@"D:\wang.txt", System.Text.Encoding.Default);//以預設編碼方式開啟檔案
string str = textReader.ReadToEnd();//讀取檔案
Console.WriteLine("使用StreamReader讀取常值內容:" + str);
textReader.Close();

//////////////////對txt檔案寫內容
StreamWriter textWriter = new StreamWriter(@"D:\wang.txt");
str = "Learn .Net";
textWriter.Write(str);
textWriter.Close();

/*
System.IO.Directory類和System.DirectoryInfo類
   主要提供關於目錄的各種操作,使用時需要引用System.IO命名空間。下面通過程式執行個體來介紹其主要屬性和方法。
*/
Directory.CreateDirectory(@"D:\wang1\wang");//建立目錄(檔案夾)如果已經存在,則保持;還可以一次建立多級目錄

/////////////////////////////////目錄屬性設定方法
DirectoryInfo dirInfo = new DirectoryInfo(@"D:\wang1\wang");//
dirInfo.Attributes = FileAttributes.Hidden;// | FileAttributes.ReadOnly;//設定檔案夾屬性

/////////////////Delete方法的第二個參數為bool類型,它可以決定是否刪除非空目錄。
//如果該參數值為true,將刪除整個目錄,即使該目錄下有檔案或子目錄;若為false,則僅當目錄為空白時才可刪除。
//Directory.Delete(@"D:\wang1", true);//如果檔案設定為ReadOnly,則不能刪除

//Directory.Move(@"d:\wang1", @"d:\wang3");//把檔案夾wang1移動到檔案夾wang3中,相當於把wang1刪除,建立一個wang3,再把內容移動到wang3

string[] Directories = Directory.GetDirectories(@"D:\wang3");//獲得檔案夾wang3的目錄
foreach (string var in Directories)
Console.WriteLine(var);

string[] Files = Directory.GetFiles(@"D:\wang1");//擷取檔案夾wang1下面的所有檔案
foreach (string var in Files)
Console.WriteLine(var);

if (Directory.Exists(@"D:\wang1"))
Console.WriteLine("檔案夾wang1存在");

/*
在C#中 “\”是特殊字元,要表示它的話需要使用“\\”。由於這種寫法不方便,C#語言提供了@對其簡化。只要在字串前加上@即可直接使用“\”。
所以上面的路徑在C#中應該表示為“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。
*/

Console.ReadLine();

}
}
}
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.