日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

file.encoding到底指的是什么呢?

發(fā)布時間:2025/3/15 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 file.encoding到底指的是什么呢? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

轉(zhuǎn)載請注明來源:http://blog.csdn.net/loongshawn/article/details/50918506

  • 《Java利用System.getProperty(“file.encoding”)獲取編碼分析》
  • 《Linux中的特殊文件-/dev/zero》
  • 《Linux中的黑洞(black hole)-/dev/null》

1.0 背景

System.out.println(System.getProperty("file.encoding"));

?

以前一直以為file.encoding的編碼就是系統(tǒng)的編碼,直到最近碰見一個怪異的情況:WEB工程中通過上述代碼打印出來的編碼是GB18030,而登錄Linux服務(wù)器執(zhí)行l(wèi)ocale或者vi /etc/sysconfig/i18n查出來的編碼是UTF-8,竟然兩者不一致,一度懷疑是不是服務(wù)器編碼變了,引發(fā)了這篇文章的思考。

2.0 file.encoding編碼是什么

file.encoding的值保存的是每個程序的main入口的那個java文件的保存編碼,是.java文件的編碼

以下兩種方式查驗:

1、點擊java文件–>屬性–>text file encoding(other的值),使用eclipse 編譯器,我查看的這個類IDE顯示的是UTF-8編碼。

2、通過運行java類來獲取該編碼。

public static void main(String[] args){System.out.println(System.getProperty("file.encoding")); }

運行結(jié)果如下,圖中顯示編碼為UTF-8,說明和IDE中顯示的一致:

如果把這個文件的編碼改成ISO-8859-1,看看顯示的是什么編碼?

上圖中還是原來的那個java類,只不過編碼類型改成了ISO-8859-1,記住我的本地機器的編碼為UTF-8,看看其運行結(jié)果:

結(jié)果仍然是ISO-8859-1,可見file.encoding獲取的僅僅是main入口函數(shù)的文件編碼,并非是系統(tǒng)編碼。

3.0 file.encoding編碼是唯一的么

是不是每個java類型都有一個這個編碼,下面我們測試一下,分別有兩個類:

Test.java 采用ISO-8859-1文件編碼:

public class Test {public static void printEncoding(){ System.out.println(System.getProperty("file.encoding")); } }

FileUpload.java 采用UTF-8文件編碼:

public class FileUpload {public static void main(String[] args){ System.out.println(System.getProperty("file.encoding")); Test.printEncoding(); } }

預(yù)想,應(yīng)該輸出:UTF-8和ISO-8859-1。

實際輸出:

UTF-8 UTF-8

從實際輸出可以看出,file.encoding是唯一的,與main入口函數(shù)的java類文件編碼保持一致。

http://blog.csdn.net/loongshawn/article/details/50918506

?

總結(jié)

以上是生活随笔為你收集整理的file.encoding到底指的是什么呢?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。