java 上传文件编码_java文件传输之文件编码和File类的使用
---恢復(fù)內(nèi)容開始---
我們知道,在用戶端和服務(wù)端之間存在一個(gè)數(shù)據(jù)傳輸?shù)膯栴},例如下載個(gè)電影、上傳個(gè)照片、發(fā)一條訊息。在這里我們
就說一下文件的傳輸。
1.文件編碼
相信大家小時(shí)候玩過積木(沒玩過也看過吧),看到一個(gè)積木房子,很漂亮,買下來了,那要怎么拿回家呢,當(dāng)然是
先把積木房子打散,裝到袋子里,拿回家后再拼起來。這就很像我們這里的文件編碼,在文件傳輸時(shí),要對(duì)內(nèi)容進(jìn)行
特定編碼方式的編碼,轉(zhuǎn)化為字節(jié)進(jìn)行傳輸,然后再通過相同的編碼方式進(jìn)行解碼轉(zhuǎn)化為原先的文件。
我們同樣以代碼的方式解釋一下:
字符串==>字節(jié)數(shù)組
上面將字符串轉(zhuǎn)化為字節(jié)數(shù)組是采用了默認(rèn)的編碼方式GBK,這個(gè)編碼方式可以在項(xiàng)目屬性里面更改,具體步驟自
行百度,然而我們是可以在不改變項(xiàng)目編碼方式的前提下,自定義轉(zhuǎn)換的編碼方式:
我們不難看出,對(duì)于相同的字符串“桔子桑”,GBK編碼下一個(gè)中文占兩個(gè)字節(jié),而UTF-8編碼下,
一個(gè)中文占三個(gè)字節(jié),作為補(bǔ)充,我們也要知道,英文在兩種編碼下都只占一個(gè)字節(jié)。
注意:java是雙字節(jié)編碼(utf-16be)即中文占兩個(gè)字節(jié),英文也占兩個(gè)字節(jié)。
字節(jié)數(shù)組==>字符串
上面我們提到過,是以什么方式轉(zhuǎn)碼的就以什么方式解碼
由于java項(xiàng)目是規(guī)定了編碼方式的,假如a項(xiàng)目是GBK編碼,b項(xiàng)目是UTF-8編碼,那么
a項(xiàng)目下創(chuàng)建一個(gè)txt文件復(fù)制到b項(xiàng)目是會(huì)出現(xiàn)亂碼的,因?yàn)閮蓚€(gè)項(xiàng)目的編碼方式不同。
2.File類常用API介紹
上面是一個(gè)讀取指定目錄下所有文件(夾)的方法showfiles(File file)。通過傳入一個(gè)File對(duì)象new File("E:\\demo"),
實(shí)現(xiàn)輸出該目錄下所有文件(夾)的路徑。
總結(jié)
以上是生活随笔為你收集整理的java 上传文件编码_java文件传输之文件编码和File类的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL 数据表查询
- 下一篇: 【eoeAndroid索引】史上最牛最全