換流的作用就是將我們的字節(jié)流轉(zhuǎn)換成字符流
字節(jié)流是可以處理一切內(nèi)容的,包括圖片,音頻,視頻,也包括純文本,在很多系統(tǒng)和框架的底層返回給我們的都是字節(jié)流(有時候我們使用字節(jié)流處理并不方便,這就是我們?yōu)槭裁匆D(zhuǎn)換字符流的原因)
System.in,System.out都是字節(jié)流,因為我們鍵盤輸入還是輸出的都是字符串,所以我們可以對它進行轉(zhuǎn)換。
在我們的底層,如果是純文本的話就涉及到一個東西是字符集。將字節(jié)轉(zhuǎn)成字符叫做解碼(在解碼的過程中就涉及到字符集的問題,如果工程的字符集跟源頭(文件)的字符集不統(tǒng)一就會出現(xiàn)亂碼),所以這個時候我們最好可以指定字符集
從字節(jié)流到字符流的轉(zhuǎn)換
只要我們看見Reader都建議加一個BufferedReader
將寫入的字符編碼為字節(jié)
講一下什么使用字節(jié)流,什么時候使用字符流
其實底層都是字節(jié),我們使用字符是為了處理一些文本和字符串提高性能字符流處理的單元為2個字節(jié)的Unicode字符,分別操作字符、字符數(shù)組或字符串,而字節(jié)流處理單元為1個字節(jié),操作字節(jié)和字節(jié)數(shù)組。所以字符流是由Java虛擬機將字節(jié)轉(zhuǎn)化為2個字節(jié)的Unicode字符為單位的字符而成的,所以它對多國語言支持性比較好!如果是音頻文件、圖片、歌曲,就用字節(jié)流好點,如果是關(guān)系到中文(文本)的,用字符流好點 所有文件的儲存是都是字節(jié)(byte)的儲存,在磁盤上保留的并不是文件的字符而是先把字符編碼成字節(jié),再儲存這些字節(jié)到磁盤。在讀取文件(特別是文本文件)時,也是一個字節(jié)一個字節(jié)地讀取以形成字節(jié)序列
字節(jié)流和字符流的使用:
Java IO流中提供了兩種用于將字節(jié)流轉(zhuǎn)換為字符流的轉(zhuǎn)換流。其中InputStreamReader用于將字節(jié)輸入流轉(zhuǎn)換為字符輸入流,其中OutputStreamWriter用于將字節(jié)輸出流轉(zhuǎn)換為字符輸出流。使用轉(zhuǎn)換流可以在一定程度上避免亂碼,還可以指定輸入輸出所使用的字符集
講一下緩存流和轉(zhuǎn)換流的結(jié)合,看見Reader我們就可以使用緩存流提高性能
使用轉(zhuǎn)換流實現(xiàn)字節(jié)到字符的轉(zhuǎn)換以及輸入和輸出
· 節(jié)點流:可以從或向一個特定的地方(節(jié)點)讀寫數(shù)據(jù)。如FileReader.
· 處理流:是對一個已存在的流的連接和封裝,通過所封裝的流的功能調(diào)用實現(xiàn)數(shù)據(jù)讀寫。如BufferedReader.處理流的構(gòu)造方法總是要帶一個其他的流對象做參數(shù)。一個流對象經(jīng)過其他流的多次包裝,稱為流的鏈接。
講一下什么是節(jié)點流
字符流和字節(jié)流就可以叫做節(jié)點流
出現(xiàn)亂碼的原因有兩種:
1.字節(jié)數(shù)不夠出現(xiàn)亂碼
2.字符集不統(tǒng)一出現(xiàn)亂碼
html文件的下載,如何使用字節(jié)流,如何使用轉(zhuǎn)換流
在java中文件的傳輸其實就是靠流來實現(xiàn)的,網(wǎng)絡(luò)流也是屬于字節(jié)流,所以我們先使用字節(jié)流
我覺得寫的時候應(yīng)該是全部都寫出來才寫的,具體debug才知道,我這里就不弄了
為什么讀取的時候亂碼,寫入的時候不亂碼
忽然一下子自己就懂了,總之寫入的時候只要講字符集設(shè)置的和源頭的文件一致就可以了
為前端開發(fā),你的一天是不是這樣度過的?
8:00--9:30 鬧鈴響了N遍之后,匆忙起床洗漱,在擁擠的地鐵上刷朋友圈、公眾號和技術(shù)論壇9:30--10:00 到公司,吃早點,打開電腦收郵件,終終終于準(zhǔn)備好狀態(tài)開始寫代碼啦!12:00--13:30 午飯時間,邊吃邊上網(wǎng)閑逛,看看技術(shù)文檔,打兩局王者榮耀或者睡午覺13:30--15:30奮斗的下午開始了,處理雜務(wù)然后寫代碼15:30--16:30被產(chǎn)品部叫去討論產(chǎn)品變動的可能性(圍觀不同技術(shù)組之間扯皮)問題終于解決!16:30--18:30 coding,項目leader詢問了進度18:30--19:00 肚子餓了和同事一起訂餐吃飯19:10-- 21:00加班接著擼代碼,測試來找,前天提交的代碼有問題,開始吭哧吭哧改bug21:00 幾個bug終于改完了,收拾東西坐地鐵回家22:30 到家繼續(xù)寫今天的任務(wù),奮斗一個多小時終于完成了(還是晚上干活效率高呀)24:00 洗漱,刷會手機再睡覺,一天過去了
對比一下,大家度過的每一天是不是和這很相似?每天忙成狗,但是心里又空落落的,感覺一無所獲?
想一想,在2019年已經(jīng)過半了:
年初制定的學(xué)習(xí)計劃完成了多少?
node.js和Vue框架掌握了嗎?
買的《Javascript語言精粹》翻過嗎?
收藏的視頻都看了嗎?
其實,近兩年前端圈內(nèi)的競爭越來越激烈,企業(yè)對前端崗位的要求更為嚴(yán)格(現(xiàn)在找工作你會發(fā)現(xiàn),企業(yè)不僅僅是需要應(yīng)聘者基礎(chǔ)扎實,而且對主流技術(shù)棧和技術(shù)廣度都有要求),對前端從業(yè)者來說,不進則退的危機感和焦慮感更重了。
那么,克服焦慮最好的方法是什么?
不斷學(xué)習(xí),充實自己
小編整理了一套web學(xué)習(xí)視頻資料和電子書,幫大家輕松學(xué)習(xí)進步web前端
下面是部分大綱
第1部分 起步
第1章 何為Web發(fā)布
第2章 準(zhǔn)備好工具
第3章 HTML和CSS簡介
第2部分 創(chuàng)建網(wǎng)頁
第4章 HTML基礎(chǔ)知識
第5章 使用列表組織信息
第6章 使用鏈接
第3部分 HTML和CSS的高級用法
第7章 使用HTML和CSS設(shè)置文本的格式
第8章 使用CSS設(shè)置網(wǎng)站的樣式
第9章 在網(wǎng)頁中使用圖像
第10章 創(chuàng)建表格
第11章 使用CSS定位元素
第12章 設(shè)計表單
第13章 使用HTML5定義頁面的結(jié)構(gòu)
第14章 集成多媒體:視頻和聲音
第15章 高級CSS:使用CSS設(shè)置頁面布局
第16章 響應(yīng)式Web設(shè)計
第4部分 使用JavaScript和jQuery
第17章 JavaScript簡介
第18章 使用jQuery
第19章 在頁面中使用JavaScript
第20章 使用框架和鏈接窗口
第5部分 一個都不能少
第21章 移動Web設(shè)計
第22章 用戶體驗設(shè)計
第6部分 發(fā)布到Web
第23章 如何發(fā)布網(wǎng)站
第24章 使用服務(wù)器
第25章 搜索引擎和SEO
、html的介紹
HTML 的全稱為:HyperText Mark-up Language, 指的是超文本標(biāo)記語言。標(biāo)記:就是標(biāo)簽, <標(biāo)簽名稱></標(biāo)簽名稱>,比如:<html></html>、<h1></h1>等,標(biāo)簽大多數(shù)都是成對出現(xiàn)的。
所謂超文本,有兩層含義:
html是用來開發(fā)網(wǎng)頁的,它是開發(fā)網(wǎng)頁的語言。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>網(wǎng)頁標(biāo)題</title>
</head>
<body>
網(wǎng)頁顯示內(nèi)容
</body>
</html>
網(wǎng)頁文件的后綴是.html或者.htm, 一個html文件就是一個網(wǎng)頁,html文件用編輯器打開顯示的是文本,可以用文本的方式編輯它,如果用瀏覽器打開,瀏覽器會按照標(biāo)簽描述內(nèi)容將文件渲染成網(wǎng)頁。
全拼是 Visual Studio Code (簡稱 VS Code) 是由微軟研發(fā)的一款免費、開源的跨平臺代碼編輯器,目前是前端(網(wǎng)頁)開發(fā)使用最多的一款軟件開發(fā)工具。
插件名說明Chinese (Simplified) Language Pack for VS Code中文(簡體)漢化包open in browser右擊在瀏覽器打開html
點擊對應(yīng)安裝的插件,然后再點擊卸載按鈕即可。
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。