国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

珠寶 網(wǎng)站模板免費seo快速收錄工具

珠寶 網(wǎng)站模板,免費seo快速收錄工具,做網(wǎng)站上海公司,網(wǎng)站建設(shè)行業(yè)數(shù)據(jù)FileStream讀寫文件 FileStream類:操作字節(jié)的,可以操作任何的文件 StreamReader類和StreamWriter類:操作字符的,只能操作文本文件。 1、FileStream類 FileStream類 命名空間: System.IO (1)構(gòu)造函數(shù): FileStre…

FileStream讀寫文件


FileStream類:操作字節(jié)的,可以操作任何的文件

StreamReader類和StreamWriter類:操作字符的,只能操作文本文件。

1、FileStream類

FileStream類

命名空間: ? System.IO

(1)構(gòu)造函數(shù):

  • FileStream(String,?FileMode):使用指定的路徑和創(chuàng)建模式初始化FileStream 類的新實例。
  • FileStream(String,?FileMode,?FileAccess):使用指定的路徑、創(chuàng)建模式和讀/寫權(quán)限初始化 FileStream 類的新實例。
FileMode 枚舉:

  • Append
如果它存在,并且查找到該文件的末尾,或者創(chuàng)建一個新文件,請打開該文件。 這要求 FileIOPermissionAccess.Append 權(quán)限。 FileMode.Append 可以僅在結(jié)合使用 FileAccess.Write。 嘗試查找該文件將引發(fā)結(jié)束之前將其置于 IOException 異常,并且任何嘗試讀取失敗,將引發(fā) NotSupportedException 異常。
  • Create
指定操作系統(tǒng)應(yīng)創(chuàng)建一個新的文件。 如果該文件已存在,則會覆蓋它。 這要求 FileIOPermissionAccess.Write 權(quán)限。 FileMode.Create 等效于請求,如果該文件不存在,則使用 CreateNew; 否則為使用 Truncate。 如果該文件已存在但為隱藏的文件, UnauthorizedAccessException 則會引發(fā)異常。
  • CreateNew
指定操作系統(tǒng)應(yīng)創(chuàng)建一個新的文件。 這要求 FileIOPermissionAccess.Write 權(quán)限。 如果該文件已存在, IOException 則會引發(fā)異常。
  • Open
指定操作系統(tǒng)應(yīng)打開現(xiàn)有文件。 若要打開該文件的能力是依賴于指定的值 FileAccess 枚舉。 一個 System.IO.FileNotFoundException 如果文件不存在將引發(fā)異常。
  • OpenOrCreate
指定操作系統(tǒng)應(yīng)打開一個文件,是否它存在,則否則,應(yīng)創(chuàng)建一個新的文件。 如果使用打開該文件 FileAccess.Read,FileIOPermissionAccess.Read 權(quán)限是必需的。 如果文件訪問是 FileAccess.Write,FileIOPermissionAccess.Write 權(quán)限是必需的。 如果使用打開該文件 FileAccess.ReadWrite,這兩個 FileIOPermissionAccess.Read 和 FileIOPermissionAccess.Write 權(quán)限是必需的。
  • Truncate
指定操作系統(tǒng)應(yīng)打開現(xiàn)有文件。 當(dāng)打開文件時,應(yīng)被截斷,以便其大小為零字節(jié)。 這要求 FileIOPermissionAccess.Write 權(quán)限。 嘗試從文件中讀取使用打開 FileMode.Truncate 導(dǎo)致 ArgumentException 異常。

FileAccess 枚舉:

  • Read:對文件的讀取訪問權(quán)限。 可以從文件讀取數(shù)據(jù)。 將與結(jié)合起來 Write 為讀/寫訪問。
  • ReadWrite:讀取和寫入到文件的訪問。 可以寫入和從文件中讀取數(shù)據(jù)。
  • Write:對文件的寫入訪問權(quán)限。 數(shù)據(jù)可以寫入該文件。 將與結(jié)合起來 Read 為讀/寫訪問
(2)方法
  • public override int Read(byte[] array, int offset, int count);
  • public override void Write(byte[] array, int offset, int count);
  • Dispose():釋放由 Stream 使用的所有資源
  • Close()關(guān)閉當(dāng)前流并釋放與之關(guān)聯(lián)的所有資源(如套接字和文件句柄)。
(3)實例代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; ? ?//FileStream類的命名空間

namespace Filestream讀寫文件
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? //FileStream 操作字節(jié)的
? ? ? ? ? ? //1.創(chuàng)建FileStream類對象
? ? ? ? ? ? FileStream fsread = new FileStream(@"F:\C#projects\abc.txt",FileMode.OpenOrCreate,FileAccess.Read);
? ? ? ? ? ? byte[] buffer=new byte[1024*1024*2]; ? ?//定義一個2M的字節(jié)數(shù)組
? ? ? ? ? ? //返回本次實際讀取到的有效字節(jié)數(shù)
? ? ? ? ? ? int r=fsread.Read(buffer,0,buffer.Length); ? ?//每次讀取2M放到字節(jié)數(shù)組里面
? ? ? ? ? ? //將字節(jié)數(shù)組中每一個元素按照指定的編碼格式解碼成字符串
? ? ? ? ? ? string s=Encoding.Default.GetString(buffer,0,r);	
? ? ? ? ? ? //關(guān)閉流
? ? ? ? ? ? fsread.Close();
? ? ? ? ? ? //釋放流所占用的資源
? ? ? ? ? ? fsread.Dispose();
? ? ? ? ? ? Console.WriteLine(s); ?//打印讀取到的內(nèi)容
? ? ? ? ? ? Console.ReadKey();
? ? ? ? }
? ? }
}

結(jié)果為:



(4)將創(chuàng)建文件流對象的過程寫在using當(dāng)中,會自動的幫助我們釋放流所占用的資源。

(將數(shù)據(jù)寫入文件)代碼為:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; ? ?//FileStream類的命名空間

namespace Filestream讀寫文件
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ??
? ? ? ? ? ? //將創(chuàng)建文件流對象的過程寫在using當(dāng)中,會自動的幫助我們釋放流所占用的資源
? ? ? ? ? ? using (FileStream fsWrite = new FileStream(@"F:\C#projects\abc.txt", FileMode.OpenOrCreate, FileAccess.Write))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? string str="看數(shù)據(jù)會不會被覆蓋掉";
? ? ? ? ? ? ? ? byte[] buffer=Encoding.Default.GetBytes(str);
? ? ? ? ? ? ? ? fsWrite.Write(buffer, 0, buffer.Length);
? ? ? ? ? ? }
? ? ? ? ? ? Console.WriteLine("寫入完成...");
? ? ? ? ? ? Console.ReadKey();
? ? ? ? }
? ? }
}

運行結(jié)果為:


(5)實現(xiàn)多媒體文件的復(fù)制

代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; ? ?//FileStream類的命名空間

namespace 多媒體文件復(fù)制
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? //思路:就是先將要復(fù)制的多媒體文件讀取出來,然后再寫入到指定的地方
? ? ? ? ? ? string s_path = @"C:\Users\mei\Desktop\1、復(fù)習(xí).avi"; ? //要讀取的文件路徑(文件有58.3M)
? ? ? ? ? ? string d_path = @"C:\Users\mei\Desktop\new.avi"; ? ? //存放的路徑
? ? ? ? ? ? CopyFile(s_path, d_path);
? ? ? ? ? ? Console.WriteLine("復(fù)制完成...");
? ? ? ? ? ? Console.ReadKey();

? ? ? ? }
? ? ? ? public static void CopyFile(string source,string target) ? ?//自定義文件復(fù)制函數(shù)
? ? ? ? {
? ? ? ? ? ? //創(chuàng)建負(fù)責(zé)讀取的流
? ? ? ? ? ? using (FileStream fsread = new FileStream(source, FileMode.Open, FileAccess.Read))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? //創(chuàng)建一個負(fù)責(zé)寫入的流
? ? ? ? ? ? ? ? using (FileStream fswrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? byte[] buffer=new byte[1024*1024*5]; ? ?//聲明一個5M大小的字節(jié)數(shù)組
? ? ? ? ? ? ? ? ? ? //因為文件有58.3M,要循環(huán)讀取
? ? ? ? ? ? ? ? ? ? while(true)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? int r=fsread.Read(buffer, 0, buffer.Length); ? ?//返回本次實際讀取到的字節(jié)數(shù)
? ? ? ? ? ? ? ? ? ? ? ? //如果返回一個0時,也就意味著什么都沒有讀到,讀取完了
? ? ? ? ? ? ? ? ? ? ? ? if(r==0)
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? fswrite.Write(buffer,0,r);

? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ?}

? ? ? ? ? ? }
? ? ? ? }
? ? }
}

運行結(jié)果:


2、StreamReader類和StreamWriter類

(1)StreamReader 類

實現(xiàn)一個 TextReader,使其以一種特定的編碼從字節(jié)流中讀取字符。

構(gòu)造函數(shù):

  • StreamReader(Stream,?Encoding)用指定的字符編碼為指定的流初始化 StreamReader 類的一個新實例。

屬性:

  • EndOfStream獲取一個值,該值指示當(dāng)前的流位置是否在流結(jié)尾。

方法:

  • ReadLine():從當(dāng)前流中讀取一行字符并將數(shù)據(jù)作為字符串返回。(覆蓋 TextReader.ReadLine()。)
實例1--使用StreamReader 類讀取一個文本文件

代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace StreamReader類和StreamWriter類
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? //使用StreamReader來讀取一個文本文件
? ? ? ? ? ? using (StreamReader sr = new StreamReader(@"F:\C#projects\abc.txt",Encoding.Default))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? while (!sr.EndOfStream)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Console.WriteLine(sr.ReadLine());	//讀取一行之后,在控制臺打印輸出
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ??
? ? ? ? ? ? }
? ? ? ? ? ? Console.ReadKey();
? ? ? ? }
? ? }
}

運行結(jié)果:


(2)StreamWriter類

實現(xiàn) TextWriter 用于將字符寫入到流中特定的編碼。

構(gòu)造函數(shù):

  • StreamWriter(Stream):新實例初始化 StreamWriter 類為使用 utf-8 編碼及默認(rèn)的緩沖區(qū)大小指定的流。
  • StreamWriter(Stream,?Encoding):新實例初始化 StreamWriter 為通過使用指定的編碼及默認(rèn)的緩沖區(qū)大小指定的流的類。
  • StreamWriter(String,?Boolean):新實例初始化 StreamWriter 類為指定的文件使用默認(rèn)的編碼和緩沖區(qū)大小。 如果該文件存在,則可以將其覆蓋或向其追加。 如果該文件不存在,此構(gòu)造函數(shù)將創(chuàng)建一個新文件。
方法:

  • Write(String):將字符串寫入流。(覆蓋 TextWriter.Write(String)。)
實例---使用StreamWriter類向文件中寫入內(nèi)容

代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace StreamReader類和StreamWriter類
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ?
? ? ? ? ? ? //使用StreamWriter來寫入一個文本文件,解決亂碼使用:System.Text.Encoding.Default
? ? ? ? ? ? using (StreamWriter st = new StreamWriter(@"F:\C#projects\abc.txt",true,System.Text.Encoding.Default))
? ? ? ? ? ? {
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ?st.Write("非常好用的類1");
? ? ? ? ? ? }
? ? ? ? ? ? Console.WriteLine("寫入完成...");
? ? ? ? ? ? Console.ReadKey();
? ? ? ? }
? ? }
}

結(jié)果:


http://aloenet.com.cn/news/35032.html

相關(guān)文章:

  • 網(wǎng)站logo怎么修改北京網(wǎng)絡(luò)推廣有哪些公司
  • 建站平臺選擇建議全球訪問量top100網(wǎng)站
  • 網(wǎng)站開發(fā)服務(wù)費入什么科目重慶網(wǎng)站快速排名提升
  • 西安專業(yè)網(wǎng)站建設(shè)價格引擎搜索對人類記憶的影響
  • 門戶網(wǎng)站建設(shè)和檢務(wù)公開情況自查報告免費建一個自己的網(wǎng)站
  • 網(wǎng)站開發(fā) 保修期網(wǎng)絡(luò)推廣文案怎么寫
  • 會計實帳培訓(xùn)上海百度搜索優(yōu)化
  • 怎么用自己的電腦做網(wǎng)站主機(jī)企業(yè)管理培訓(xùn)課程視頻
  • 別人做的網(wǎng)站怎么打開2022網(wǎng)站seo
  • 網(wǎng)站開發(fā)人員職位晉升空間深圳龍崗區(qū)布吉街道
  • 小程序開發(fā)價格深圳百度seo公司
  • 自動搭建網(wǎng)站源碼優(yōu)就業(yè)seo
  • wordpress 遷移到hexo抖音seo怎么做
  • 哪些網(wǎng)站可以免費做推廣呢南沙seo培訓(xùn)
  • 做網(wǎng)站空間放哪些文件夾網(wǎng)頁模板圖片
  • 點餐網(wǎng)站模板深圳谷歌推廣公司
  • 福州網(wǎng)站開發(fā)si7.cc必應(yīng)收錄提交入口
  • 做二手家電網(wǎng)站怎樣?xùn)|莞網(wǎng)絡(luò)優(yōu)化服務(wù)商
  • 網(wǎng)站開發(fā)費用如何入賬企點下載
  • 專業(yè)企業(yè)網(wǎng)站搭建服務(wù)有創(chuàng)意的網(wǎng)絡(luò)廣告案例
  • 國外域名的網(wǎng)站怎么做seo快速排名軟件網(wǎng)站
  • 網(wǎng)站制作方案怎么做seo排名優(yōu)化推薦
  • 醫(yī)院網(wǎng)站建設(shè)方案計劃書北大青鳥培訓(xùn)機(jī)構(gòu)靠譜嗎
  • 那個網(wǎng)站可以接做網(wǎng)頁私活惠州網(wǎng)絡(luò)營銷公司
  • 淘寶軟件營銷網(wǎng)站建設(shè)品牌推廣策略包括哪些內(nèi)容
  • 快看漫畫小程序入口關(guān)鍵詞優(yōu)化靠譜推薦
  • 鎮(zhèn)海區(qū)住房和建設(shè)交通局網(wǎng)站友情鏈接名詞解釋
  • 旅游區(qū)網(wǎng)站開發(fā)蕭山區(qū)seo關(guān)鍵詞排名
  • 教育行業(yè)網(wǎng)站模板最新軍事戰(zhàn)爭新聞消息
  • 網(wǎng)站建設(shè)費經(jīng)營范圍網(wǎng)站建設(shè)找哪家好