在线亚洲黄色-在线亚洲观看-在线亚洲电影-在线亚洲成人-岛国大片在线观看免费版-岛国大片在线播放高清

u盤打開時提示io錯誤U盤io錯誤

導讀(U盤io錯誤);0.前言在之前的章節中,大致介紹了C#中的一些基本概念。這篇我們將介紹一下C#的I/O操作,這將也是一個小連續劇。這是第一集,我們先來簡單了解一下C#中的I/O框架。1.什么是I/OI/O的全稱是input/output,翻譯過來就是輸入/輸出。對于一個系統或者計算機來說,鍵盤、U盤、網絡接口、顯示器、音響、攝像頭等都是IO設備。那么,對于一個程序I/O又是什么呢。對于程序而言,I/O就是與外界進行數據交換的方式。借用一句廣告詞,程序不生產數據,只是數據的搬用工。當然,正如XX還需要對水進行過濾、消毒等工序一樣,程序也要對數據進行運算,所以也不完全算是搬用工,嚴格來講是加工廠。那么,I/O就是工廠的原料提供商和成品銷售商。

u盤打開時提示io錯誤(U盤io錯誤)0.前言在之前的章節中,大致介紹了C#中的一些基本概念。這篇我們將介紹一下C#的I/O操作,這將也是一個小連續劇。這是第一集,我們先來簡單了解一下C#中的I/O框架。1.什么是I/OI/O的全稱是input/output,翻譯過來就是輸入/輸出。對于一個系統或者計算機來說,鍵盤、U盤、網絡接口、顯示器、音響、攝像頭等都是IO設備。那么,對于一個程序I/O又是什么呢?對于程序而言,I/O就是與外界進行數據交換的方式。借用一句廣告詞,程序不生產數據,只是數據的搬用工。當然,正如XX還需要對水進行過濾、消毒等工序一樣,程序也要對數據進行運算,所以也不完全算是搬用工,嚴格來講是加工廠。那么,I/O就是工廠的原料提供商和成品銷售商。在C#中,I/O體系整體分為三個部分,后臺存儲流、裝飾器流、流適配器,具體劃分:在流與流之間,都是采用字節數據進行交換,所以可以得到一個簡單的結論,I/電腦O在程序中表現為字節流,換句話說I/O就是將各種數據轉成字節的工具。3.Stream基類C#中,所有流都是繼承自Stream類,Stream類定義了流應該具有的行為和屬性,使得開發人員可以忽略底層的操作系統和基礎設備的具體細節。C#對流的處理忽略了讀流和寫流的區別,使其更像是一個管道,方便數據通信。流涉及到三個基本操作:讀取-將數據從流中傳輸到數據結構中寫入-將數據從數據源寫入流中查找-對流中操作的當前位置進行查找和修改因為流的特性,可能并不是所有的流都支持這三種操作,所以Stream提供了三個屬性,以方便確認流是否支持這三種操作:publicabstractboolCanRead{get;}//獲取指示當前流是否支持讀取的值publicabstractboolCanWrite{get;}//獲取指示當前流是否支持寫入功能的值publicabstractboolCanSeek{get;}//獲取指示當前流是否支持查找功能的值以上這三個屬性均由子類根據自身特性確認是否支持讀取、寫入、查找,可能三個屬性不會都為true,但絕對不會都為false。下面是一些常見的流:FileStream用來操作文件的流MemoryStream操作內存的流BufferedStream緩存流,用來增強其他流的操作性能NetworkStream使用網絡套接字進行操作的流Pipestream通過匿名和命名管道進行讀取和寫入CryptoStream用于將數據流鏈接到加密轉換電腦4.操作C#中I/O的操作都屬于System.IO這個命名空間,在這個命名空間中C#定義了文件相關的類、各種流、裝飾器流、適配器以及其他一些相關的結構體。在以System.IO開頭的命名空間中,C#對IO進一步擴展,并提供了流壓縮和解壓縮(System.IO.Compression),搜索和枚舉文件系統元素(System.IO.Enumeration),提供用于使用內存映射文件的類(System.IO.MemoryMappedFiles)等內容。我們先略過之后篇幅會介紹的內容不提,先來看一下Stream類里重要的屬性和方法:1.流里數據的長度publicabstractlongLength{get;}當Stream對象的CanSeek為true時,也就是流支持搜索的時候,可以通過這個屬性確認流的長度,也就是有多少個字節的數據。2.流的位置publicabstractlongPosition{get;set;}同長度的前提條件一致,當Stream對象支持搜索的時候,可以通過該屬性確認流的位置或者修改流的位置。3.讀取流里的數據publicabstractintRead(byte[]buffer,intoffset,intcount);publicvirtualintReadByte();這是兩種不同的讀取方式,第一種是每次讀取多個字節的數據,第二個電腦是每次只讀一個字節的數據。這里來細細講解一下區別:publicabstractintRead(byte[]buffer,intcount);表示流每次最多讀取count個字節的數據,然后將數據放到buffer中,位置從下標為offset開始,并返回實際讀取的字節數,如果流已經讀完了,則返回0。這個過程中,Position會后移實際讀取長度,如果流支持搜索,程序中可以調用這個屬性。所以這里就有會這樣的一個限制:offset+count<=buffer.Length,換句話說,偏移量+最大讀取數目不能大于緩存數組的長度。因為這個方法返回一個實際讀取長度,可能有人會這樣判斷是否讀完:根據返回的結果與count比,如果返回的長度小于count則認為流已經讀完;否則流還沒讀完。有一些流可能會達成這樣的效果,但是很多流并不能以此為依據來判斷流是否讀完,也許某一次讀取長度小于count,然后再讀一次發現又有數據了。這是因為IO在系統中屬于高耗時操作,大部分情況下IO的性能和程序的運算速度相差甚遠。所以經常會出現這樣的情景:流的長度是100,給了長度為100的緩存字節數組,然后第一次讀取了10個字節,第二次讀取了5個字節,這樣一點一點的把這100個字節讀取到。所以,必須以返回值為0作為流的讀完判斷依據。publicvirtualintReadByte();這個方法很簡單,每次從流里讀取一個字節的數據,如果讀取完成返回-1。可能有人會疑惑了,這個方法明明是讀取一個字節,也就是個byte,那為什么返回類型是int呢?很簡單,因為byte沒有負數,而int有。所以,當返回值不等于-1的時候,可以放心的類型轉換為byte。4.把數據寫入流publicabstractvoidWrite(byte[]buffer,intcount);publicvirtualvoidWriteByte(bytevalue);流的寫入與讀取相比就簡單多了,至少我們不用判斷流的位置?,F在簡單分析一下:publicabstractvoidWrite(byte[]buffer,intcount);表示從buffer的offset下標開始,取count個字節寫入流里。所以,對offset、count的限制依舊,和不能大于數組的長度。寫入成功,流的位置會移動,否則將保持現有位置。publicvirtualvoidWriteByte(bytevalue);這個方法就更簡單了,直接寫一個字節給流。5.關閉或銷毀流流在操作完成之后,需要將其關閉以釋放流所持有的文件或IO設備等資源。很多人在使用電腦的時候,不能用QQ發送在本地已經打開的excel文件,它會提示文件被占用無法傳輸。這就是因為Excel打開了這個文件,就持有一個文件相關的流,所以QQ無法發送。解決辦法很簡單,關掉excel軟件即可。回到當前,也就是我們在使用完成之后必須關閉流。那么我們該如何關閉流呢?調用以下方法:publicvirtualvoidClose();C#雖然設置了Close方法,但是并不支持開發者在編寫程序的時候手動調用Close方法,更推薦使用:publicvoiddispose();這個方法會將釋放流所持有使用的資源,并關閉流。當前需要注意的一個地方是,在把流關閉或釋放之前把流里的數據推送到基礎設備,即調用:publicabstractvoidFlush();有一些流設置了自動推送功能,如果遇到這種流則不需要手動調用該方法。對于流來說,一旦銷毀或關閉,這個流就無法二次使用了,所以調用了Close、dispose之后再次嘗試讀取/寫入流都會報錯5.本篇總結以及下篇預告本篇內容大概介紹了一下C#的IO體系以及一些基本操作,下一篇將介紹如何操作文件。更多內容煩請關注我的博客《高先生小屋》電腦

為你推薦
資訊專欄
熱門視頻
相關推薦
打開網頁電腦就黑屏打開網頁電腦就黑屏怎么回事 u盤里硬件壞怎么修復工具u盤硬件壞了怎么修復 刪除u盤隱藏分區u盤刪除分區 點擊打開u盤顯示請插入 電腦不識別sata硬盤分區 電腦啟動盤不見電腦啟動盤不見了怎么辦 怎么把u盤格式化ntfs 聯想昭陽u盤重裝系統聯想昭陽光盤重裝系統 u盤老說被占用u盤老說被占用怎么辦 怎么把pe系統裝在u盤啟動盤怎么把pe系統裝在u盤啟動盤里 深度u盤直裝iso深度u盤安裝 u盤啟動設置好后用個鍵進入u盤啟動設置好后用個鍵進入系統 電腦音量不能調節電腦音量不能調節怎么回事 固態第一次u盤缺驅動固態第一次u盤缺驅動怎么辦 安裝win8系統點擊哪個文件win8安裝的程序在哪 u盤管理顯示我電腦不顯示u盤u盤管理顯示我電腦不顯示u盤文件 大白菜怎么裝機詳細教程視頻大白菜怎么裝機詳細教程視頻 u盤視頻0kbu盤視頻0kb怎么恢復正常 聯想筆記本電腦驅動一鍵安裝聯想筆記本電腦驅動一鍵安裝在哪里 大白菜啟動盤菜單大白菜設置啟動盤 惠普老臺式機怎樣設置從u盤啟動項惠普臺式機怎么設置u盤啟動項 安全u盤可以制作啟動u盤嗎安全u盤可以制作啟動u盤嗎 u盤插電腦里卡u盤插電腦里卡怎么辦 聯想電腦系統啟動聯想電腦系統啟動鍵在哪 u盤插上后不顯示u盤插上后不顯示怎么回事 win8筆記本電腦黑屏只有鼠標win8筆記本電腦黑屏只有鼠標亮 u盤中毒文件變圖標u盤中毒文件變圖標怎么辦 u盤裝驅動后看不到u盤裝驅動后看不到硬盤 大白菜u盤怎么改格式化大白菜U盤怎么格式化 u盤安全拔下來后無法識別u盤安全拔下來后無法識別怎么辦 聯想天逸100電腦進bios聯想天逸100筆記本電腦 win8系統如何共享文件夾win8系統如何共享文件夾 u盤大文件快速刪除u盤大文件快速刪除的方法 windows10總斷網windows10總是斷網 u盤中文檔丟u盤中文件丟失 u盤該ntfcU盤該磁盤可能被另一個進程鎖定 老電腦不認u盤裝系統老電腦不認u盤裝系統怎么辦 u盤檢測工具魯大師魯大師里面的u盤檢測工具 電腦連bios啟動不機電腦啟動連bios都進不去 qq牧場在哪里購買裝飾啊
Top 主站蜘蛛池模板: 伊人网中文字幕 | 日韩免费在线 | 三级网站免费播放国语 | 久久综合中文字幕一区二区 | 国产男女无遮挡猛进猛出 | 中国一级全黄的免费观看 | 国产精品久久久久9999小说 | xxx色| 国产精品高清视亚洲一区二区 | 亚洲欧美在线一区 | 国产区精品在线 | 欧美日韩网址 | 国产v精品成人免费视频400条 | 欧美日韩国 | 国产精品ⅴ视频免费观看 | 国产精品va在线观看无 | 国产一二三区在线观看 | 日韩在线视频观看 | 国产网站免费观看 | 一级毛片免费看 | 伊人精品成人久久综合欧美 | 国产精品一区91 | 欧美综合亚洲 | 国内精品自产拍在线观看91 | 国产成人精品视频在放 | 亚洲一区 中文字幕 久久 | 国产一区二区福利久久 | 九九精品视频一区二区三区 | 精品国产不卡一区二区三区 | 欧美性猛交一区二区三区精品 | 看真人视频一级毛片 | 国产最新在线视频 | 亚洲视频在线看 | 国产午夜精品视频 | 亚洲欧美色欧另类欧 | 亚洲第8页 | 色老头久久久久久久久久 | 国产精品精品视频 | 欧美日韩一二区 | 久久综合中文字幕一区二区 | 人人爽天天碰天天躁夜夜躁 |