c#文件操作示例帶詳細(xì)注釋
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方式打開文件(如果不存在,會(huì)創(chuàng)建)
byte[] info = { (byte)'h', (byte)'e', (byte)'l', (byte)'l', (byte)'o' };//要寫入的信息
textFile.Write(info, 0, info.Length);//Write方法只能寫入byte數(shù)組
textFile.Close();//關(guān)閉文件流
////////////////////// 文件創(chuàng)建
FileStream newText = File.Create(@"D:\newText.txt");//創(chuàng)建文件
newText.Close();//關(guān)閉文件
//////////////////// 刪除文件
File.Delete(@"d:\newText.txt");
////////////////// 文件復(fù)制 如果目標(biāo)文件存在,不允許復(fù)制(就是不能覆蓋同名文件)
//File.Copy(@"d:\wang.txt", @"d:\CopyWang.txt");
//////////////// 文件移動(dòng) 只能在同一個(gè)盤中移動(dòng) 如果目標(biāo)路徑不正確,不能移動(dòng)
// File.Move(@"d:\CopyWang.txt", @"D:\A\movewang.txt");
//////////////////////// 設(shè)置文件屬性為 只讀,隱藏
//File.SetAttributes(@"D:\copywang.txt", FileAttributes.ReadOnly | FileAttributes.Hidden);//同時(shí)滿足多個(gè)屬性,必須用位或(|).
/////////////// 判斷文件是不是存在
if (File.Exists(@"D:\copywang.txt"))//如果存在 即便是隱藏的文件也可以找到
{
File.SetAttributes(@"D:\copywang.txt", FileAttributes.ReadOnly);//重新設(shè)置屬性后,隱藏的文件也會(huì)顯示出來,只要不加Hidden屬性
Console.WriteLine("找到文件copywang.txt");
}
else
{
Console.WriteLine("沒有找到文件CopyWang.txt");
}
/*
此外,F(xiàn)ile類對于Text文本提供了更多的支持。
?AppendText:將文本追加到現(xiàn)有文件
?CreateText:為寫入文本創(chuàng)建或打開新文件
?OpenText:打開現(xiàn)有文本文件以進(jìn)行讀取
但上述方法主要對UTF-8的編碼文本進(jìn)行操作,從而顯得不夠靈活。在這里推薦讀者使用下面的代碼對txt文件進(jìn)行操作。
?對txt文件進(jìn)行“讀”操作,示例代碼如下:
*/
StreamReader textReader = new StreamReader(@"D:\wang.txt", System.Text.Encoding.Default);//以默認(rèn)編碼方式打開文件
string str = textReader.ReadToEnd();//讀取文件
Console.WriteLine("使用StreamReader讀取文本內(nèi)容:" + str);
textReader.Close();
//////////////////對txt文件寫內(nèi)容
StreamWriter textWriter = new StreamWriter(@"D:\wang.txt");
str = "Learn .Net";
textWriter.Write(str);
textWriter.Close();
/*
System.IO.Directory類和System.DirectoryInfo類
主要提供關(guān)于目錄的各種操作,使用時(shí)需要引用System.IO命名空間。下面通過程序?qū)嵗齺斫榻B其主要屬性和方法。
*/
Directory.CreateDirectory(@"D:\wang1\wang");//創(chuàng)建目錄(文件夾)如果已經(jīng)存在,則保持;還可以一次創(chuàng)建多級(jí)目錄
/////////////////////////////////目錄屬性設(shè)置方法
DirectoryInfo dirInfo = new DirectoryInfo(@"D:\wang1\wang");//
dirInfo.Attributes = FileAttributes.Hidden;// | FileAttributes.ReadOnly;//設(shè)置文件夾屬性
/////////////////Delete方法的第二個(gè)參數(shù)為bool類型,它可以決定是否刪除非空目錄。
//如果該參數(shù)值為true,將刪除整個(gè)目錄,即使該目錄下有文件或子目錄;若為false,則僅當(dāng)目錄為空時(shí)才可刪除。
//Directory.Delete(@"D:\wang1", true);//如果文件設(shè)置為ReadOnly,則不能刪除
//Directory.Move(@"d:\wang1", @"d:\wang3");//把文件夾wang1移動(dòng)到文件夾wang3中,相當(dāng)于把wang1刪除,創(chuàng)建一個(gè)wang3,再把內(nèi)容移動(dòng)到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#中應(yīng)該表示為“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。
*/
Console.ReadLine();
}
}
}
相關(guān)文章
C#中Foreach循環(huán)遍歷的本質(zhì)與枚舉器詳解
這篇文章主要給大家介紹了關(guān)于C#中Foreach循環(huán)遍歷本質(zhì)與枚舉器的相關(guān)資料,foreach循環(huán)用于列舉出集合中所有的元素,foreach語句中的表達(dá)式由關(guān)鍵字in隔開的兩個(gè)項(xiàng)組成,本文通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08c#一個(gè)定時(shí)重啟的小程序?qū)崿F(xiàn)代碼
今天有個(gè)朋友找我問有沒有一些能像Windows一樣計(jì)劃任務(wù)重啟的軟件,我也不清楚。他它說能讓我做一個(gè)給他它么?我考慮了一下,他的服務(wù)器都是有安裝.NET框架的,那可以用.NET來使下~~!2008-09-09WPF實(shí)現(xiàn)帶篩選功能的DataGrid
在默認(rèn)情況下,WPF提供的DataGrid僅擁有數(shù)據(jù)展示等簡單功能,如果要實(shí)現(xiàn)像Excel一樣復(fù)雜的篩選過濾功能,則相對比較麻煩。本文以一個(gè)簡單的小例子,簡述如何通過WPF實(shí)現(xiàn)DataGrid的篩選功能,僅供學(xué)習(xí)分享使用,如有不足之處,還請指正2023-03-03C# 正則表達(dá)式常用的符號(hào)和模式解析(最新推薦)
這篇文章主要介紹了C# 正則表達(dá)式常用的符號(hào)和模式解析,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12C#實(shí)現(xiàn)的簡單隨機(jī)數(shù)產(chǎn)生器功能示例
這篇文章主要介紹了C#實(shí)現(xiàn)的簡單隨機(jī)數(shù)產(chǎn)生器功能,涉及C#簡單界面布局、事件響應(yīng)及隨機(jī)數(shù)生成相關(guān)操作技巧,需要的朋友可以參考下2017-09-09