文本文件可以用二進(jìn)制讀取嗎 為什么要區(qū)分文本流和二進(jìn)制流?
為什么要區(qū)分文本流和二進(jìn)制流?0通常用于表示文本流中字符串的結(jié)尾,0值通常出現(xiàn)在二進(jìn)制流中,因此不能混用二進(jìn)制文件是將數(shù)據(jù)保存在硬盤內(nèi)存中,這是內(nèi)存數(shù)據(jù)的映射。文本文件是字符串文件。通常二進(jìn)制文件打開
為什么要區(qū)分文本流和二進(jìn)制流?
0通常用于表示文本流中字符串的結(jié)尾,0值通常出現(xiàn)在二進(jìn)制流中,因此不能混用
二進(jìn)制文件是將數(shù)據(jù)保存在硬盤內(nèi)存中,這是內(nèi)存數(shù)據(jù)的映射。文本文件是字符串文件。通常二進(jìn)制文件打開的是一堆亂碼,因?yàn)橛浭卤境绦蛟噲D用字符串打開,看到的是亂碼。
例如,如果您編寫一個(gè)程序,int a=10;寫入一個(gè)文件,將其保存在大小為4字節(jié)(int的大?。┑亩M(jìn)制文件中,并將其保存在大小為2字節(jié)的文本文件中,因?yàn)椤?”和“0”有兩個(gè)字符。
關(guān)于二進(jìn)制流,文本流,二進(jìn)制文件,文本文件的關(guān)系?
文本模式下打開的文件有一定的格式,表示讀取時(shí)要按照一定的編碼規(guī)范進(jìn)行讀取,而二進(jìn)制模式讀取則直接從文件中讀取包含0和1的二進(jìn)制流,沒有任何格式。因此,當(dāng)freead讀取以文本形式打開的文件時(shí),它會(huì)讀取包含該格式的二進(jìn)制流,因此它會(huì)出錯(cuò)。
按照文本方式打開文件和按照二進(jìn)制方式有什么區(qū)別啊?
二進(jìn)制文件和文本文件在定義和訪問模式上存在差異。1文本文件是一種計(jì)算機(jī)文件。它是一個(gè)典型的序列文件,其邏輯結(jié)構(gòu)屬于流文件。簡(jiǎn)而言之,文本文件是基于字符編碼的文件,常用的編碼方式有ASCII編碼、Unicode編碼等。二進(jìn)制文件:它是一個(gè)基于值編碼的文件。您可以根據(jù)特定的應(yīng)用程序指定值的含義(這樣的過程可以視為自定義編碼)。一般來說,用戶不能直接閱讀,只有通過相應(yīng)的軟件才能顯示出來。二進(jìn)制文件通常是可執(zhí)行程序、圖形、圖像、聲音等。從上面可以看出,文本文件和二進(jìn)制文件的區(qū)別不是物理上的,而是邏輯上的。兩者只是編碼級(jí)別不同。文本文件基本上是定長(zhǎng)編碼(也有非定長(zhǎng)編碼,如UTF-8)。二進(jìn)制文件可以看作是可變長(zhǎng)度的代碼,因?yàn)樗鼈兪侵荡a。多少位代表一個(gè)值完全取決于您。2文本工具打開一個(gè)文件,讀取與該文件對(duì)應(yīng)的二進(jìn)制位流,根據(jù)所選擇的解碼方法解釋該流,并顯示解釋結(jié)果。一般來說,您選擇的解碼方法是ASCII碼(ASCII碼的一個(gè)字符是8位)。接下來,它將解釋8位和8位的文件流。無論記事本打開什么文件,它都將根據(jù)已建立的字符編碼(如ASCII代碼)工作。所以當(dāng)他打開二進(jìn)制文件時(shí),不可避免地會(huì)出現(xiàn)亂碼。解碼和解碼不一致。文本文件的存儲(chǔ)和讀取基本上是一個(gè)相反的過程。二進(jìn)制文件的存取方式與文本文件相似,但編解碼方式不同。二進(jìn)制文件是將存儲(chǔ)器中的數(shù)據(jù)按其在存儲(chǔ)器中的存儲(chǔ)形式輸出到磁盤上,即存儲(chǔ)原始形式的數(shù)據(jù)。文本文件是數(shù)據(jù)的終端形式二進(jìn)制數(shù)據(jù)輸出到磁盤存儲(chǔ),即存儲(chǔ)是數(shù)據(jù)的終端形式
字節(jié)流和字符流的主要區(qū)別在于它們的處理方法,字節(jié)流是最基本的,采用ASCII編碼,InputStream和OutputStream的所有子類都主要用來處理二進(jìn)制數(shù)據(jù),它是按字節(jié)處理的,但實(shí)際上,很多數(shù)據(jù)都是文本,因此提出了字符流的概念,采用Unicode編碼。它是根據(jù)虛擬機(jī)的編碼進(jìn)行處理的,即對(duì)字符集進(jìn)行轉(zhuǎn)換,兩者通過Inputstreamreader傳遞,而outputstreamwriter實(shí)際上是通過byte[]和string進(jìn)行關(guān)聯(lián)的。您只需要弄清楚Java處理字節(jié)流和字符流的類!字節(jié)流字符流輸入輸入流讀取器,其他類繼承這四個(gè)基本類!