第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

設(shè)置默認(rèn)的Java字符編碼?

設(shè)置默認(rèn)的Java字符編碼?

牧羊人nacy 2019-05-31 13:42:18
設(shè)置默認(rèn)的Java字符編碼?如何以編程方式正確設(shè)置JVM(1.5.x)使用的默認(rèn)字符編碼?我讀過(guò)-Dfile.encoding=whatever曾經(jīng)是老年JVM的選擇.。我沒(méi)有那種奢侈,因?yàn)槲也辉敢膺M(jìn)入。我試過(guò):System.setProperty("file.encoding", "UTF-8");屬性將被設(shè)置,但它似乎不會(huì)導(dǎo)致下面的getBytes最后調(diào)用使用UTF 8:    System.setProperty("file.encoding", "UTF-8");     byte inbytes[] = new byte[1024];     FileInputStream fis = new FileInputStream("response.txt");     fis.read(inbytes);     FileOutputStream fos = new FileOutputStream("response-2.txt");     String in = new String(inbytes, "UTF8");     fos.write(in.getBytes());
查看完整描述

3 回答

?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

不幸的是,file.encoding屬性必須在jvm啟動(dòng)時(shí)指定;當(dāng)輸入主方法時(shí),String.getBytes()的默認(rèn)構(gòu)造函數(shù)InputStreamReaderOutputStreamWriter一直被緩存。

愛(ài)德華·格雷奇指出,在這樣的特殊情況下,環(huán)境變量JAVA_TOOL_OPTIONS 能,會(huì),可以用于指定此屬性,但通常如下所示:

java -Dfile.encoding=UTF-8 … com.x.Main

Charset.defaultCharset()將反映對(duì)file.encoding屬性,但是需要確定默認(rèn)字符編碼的核心Java庫(kù)中的大多數(shù)代碼不使用此機(jī)制。

在編碼或解碼時(shí),可以查詢file.encoding財(cái)產(chǎn)或Charset.defaultCharset()若要查找當(dāng)前默認(rèn)編碼,請(qǐng)使用適當(dāng)?shù)姆椒ɑ驑?gòu)造函數(shù)重載來(lái)指定它。


查看完整回答
反對(duì) 回復(fù) 2019-05-31
?
揚(yáng)帆大魚

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

我有一種絕對(duì)有效的方式!

System.setProperty("file.encoding","UTF-8");Field charset = Charset.class.getDeclaredField("defaultCharset");charset.setAccessible(true);
charset.set(null,null);

這樣,您將欺騙JVM,因?yàn)镴VM認(rèn)為字符集沒(méi)有設(shè)置,并使其在運(yùn)行時(shí)再次將其設(shè)置為UTF-8!


查看完整回答
反對(duì) 回復(fù) 2019-05-31
  • 3 回答
  • 0 關(guān)注
  • 1018 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)