位元組陣列輸入流和位元組陣列輸出流實現檔案的拷貝

2021-09-25 02:54:37 字數 1336 閱讀 7108

整理思路如下

為什麼要這樣進行copy (我更願意稱它為傳輸)

因為這樣以二進位制的形式傳輸檔案,可以實現檔案的遠距離傳輸,即通過這樣可以實現伺服器與使用者之間檔案的傳輸。

我們在本地傳送請求時,計算機將請求編碼為二進位制檔案,當傳送到伺服器後,伺服器將二進位制檔案進行解碼,從而實現檔案的傳輸

那麼如何將檔案編碼為二進位制檔案哪

將檔案轉化為位元組陣列儲存到bytearray中,即對應上圖的第二個方向

public

static

byte

filetobyte

(string filepath)

throws ioexception

baos.

flush()

;return baos.

tobytearray()

;}catch

(ioexception e)

finally

return null;

}

下面將快取中的baos通過程式轉化為檔案

public

static

void

bytetofile

(byte

src,string filepath)

os.flush()

;}catch

(exception e)

finally

}catch

(ioexception e)

}

效果如下

2. 上述主要是用來傳輸的,當然如果是在本地進行檔案的複製的話,可以直接將檔案輸入流(fileinputstream)和檔案輸出流(fileoutputstream)合併

**如下

public

class

copyfile

public

static

void

copy

(string srcpath,string destpath)

out.

flush()

;}catch

(exception e)

finally

}catch

(ioexception e)

try}

catch

(ioexception e)}}

}

位元組陣列流

位元組陣列流 bytearrayinputstream 包含乙個內部緩衝區,該緩衝區包含從流中讀取的位元組。內部計數器跟蹤read方法要提供的下乙個位元組。關閉bytearrayinputstream無效。此類中的方法再關閉流後依然可以被呼叫,而不會產生任何ioexception.bytearray...

unity AssetBundle位元組陣列加密

1.加密 對assetbundle的位元組陣列每位進行與key的異或處理 相同為0,不同為1 using system using system.collections.generic using system.io using system.linq using system.text names...

位元組陣列bytearray()

序列 常見的序列有 list,tuple,str,bytes,bytearray 位元組串 bytes,位元組陣列bytearray是二進位制資料組成的序列,其中每個元素8bit二進位制組成 位元組陣列bytearray 可變的位元組序列,相當於bytes的可變版本 建立bytearray物件的方法...