中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

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

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

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

FileStream讀寫(xiě)文件


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

StreamReader類(lèi)和StreamWriter類(lèi):操作字符的,只能操作文本文件。

1、FileStream類(lèi)

FileStream類(lèi)

命名空間: ? System.IO

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

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

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

FileAccess 枚舉:

  • Read:對(duì)文件的讀取訪問(wèn)權(quán)限。 可以從文件讀取數(shù)據(jù)。 將與結(jié)合起來(lái) Write 為讀/寫(xiě)訪問(wèn)。
  • ReadWrite:讀取和寫(xiě)入到文件的訪問(wèn)。 可以寫(xiě)入和從文件中讀取數(shù)據(jù)。
  • Write:對(duì)文件的寫(xiě)入訪問(wèn)權(quán)限。 數(shù)據(jù)可以寫(xiě)入該文件。 將與結(jié)合起來(lái) Read 為讀/寫(xiě)訪問(wèn)
(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)實(shí)例代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; ? ?//FileStream類(lèi)的命名空間

namespace Filestream讀寫(xiě)文件
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? //FileStream 操作字節(jié)的
? ? ? ? ? ? //1.創(chuàng)建FileStream類(lèi)對(duì)象
? ? ? ? ? ? FileStream fsread = new FileStream(@"F:\C#projects\abc.txt",FileMode.OpenOrCreate,FileAccess.Read);
? ? ? ? ? ? byte[] buffer=new byte[1024*1024*2]; ? ?//定義一個(gè)2M的字節(jié)數(shù)組
? ? ? ? ? ? //返回本次實(shí)際讀取到的有效字節(jié)數(shù)
? ? ? ? ? ? int r=fsread.Read(buffer,0,buffer.Length); ? ?//每次讀取2M放到字節(jié)數(shù)組里面
? ? ? ? ? ? //將字節(jié)數(shù)組中每一個(gè)元素按照指定的編碼格式解碼成字符串
? ? ? ? ? ? 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)建文件流對(duì)象的過(guò)程寫(xiě)在using當(dāng)中,會(huì)自動(dòng)的幫助我們釋放流所占用的資源。

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; ? ?//FileStream類(lèi)的命名空間

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

運(yùn)行結(jié)果為:


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

代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; ? ?//FileStream類(lèi)的命名空間

namespace 多媒體文件復(fù)制
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? //思路:就是先將要復(fù)制的多媒體文件讀取出來(lái),然后再寫(xiě)入到指定的地方
? ? ? ? ? ? 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)建一個(gè)負(fù)責(zé)寫(xiě)入的流
? ? ? ? ? ? ? ? using (FileStream fswrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? byte[] buffer=new byte[1024*1024*5]; ? ?//聲明一個(gè)5M大小的字節(jié)數(shù)組
? ? ? ? ? ? ? ? ? ? //因?yàn)槲募?8.3M,要循環(huán)讀取
? ? ? ? ? ? ? ? ? ? while(true)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? int r=fsread.Read(buffer, 0, buffer.Length); ? ?//返回本次實(shí)際讀取到的字節(jié)數(shù)
? ? ? ? ? ? ? ? ? ? ? ? //如果返回一個(gè)0時(shí),也就意味著什么都沒(méi)有讀到,讀取完了
? ? ? ? ? ? ? ? ? ? ? ? if(r==0)
? ? ? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? ? ? fswrite.Write(buffer,0,r);

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

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

運(yùn)行結(jié)果:


2、StreamReader類(lèi)和StreamWriter類(lèi)

(1)StreamReader 類(lèi)

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

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

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

屬性:

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

方法:

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

代碼:

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

運(yùn)行結(jié)果:


(2)StreamWriter類(lèi)

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

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

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

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

代碼:

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

結(jié)果:


http://www.risenshineclean.com/news/35032.html

相關(guān)文章:

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