J2SE
【Java基礎專題】IO與文件讀寫---優化搜索程序(01)
摘要: Apache commons CLI是一個開源的,用于處理命令行的工具包。這個包目前的穩定版本是1.2,他非常簡單只有20個左右的class,但提供了幾乎所以可以用到的命令行功能。它的主頁在這里:Apache commons CLI
根據CLI的邏輯,每一個命令行的處理都可以分為3個步驟:定義、解析、交互
①定義:定義命令行的各種選項屬性(包括縮寫、全寫、是否必須、是否帶參數、參數個數限制)
②解析:使用解析器對命令行選項列表進行解析
③交互:從解析好的命令行查詢用戶輸入的參數值并進行處理 閱讀全文
根據CLI的邏輯,每一個命令行的處理都可以分為3個步驟:定義、解析、交互
①定義:定義命令行的各種選項屬性(包括縮寫、全寫、是否必須、是否帶參數、參數個數限制)
②解析:使用解析器對命令行選項列表進行解析
③交互:從解析好的命令行查詢用戶輸入的參數值并進行處理 閱讀全文
【Java基礎專題】IO與文件讀寫---DirectoryWalker和FileFilter的復雜條件使用
摘要: 1.基本功能過濾器
=============================================
①類型:DirectoryFileFilter、FileFileFilter
②大小:EmptyFileFilter、SizeFileFilter
③時間:AgeFileFilter
④名稱:NameFileFilter、PrefixFileFilter、SuffixFileFilter、RegexFileFilter、WildcardFileFilter
⑤讀寫屬性:CanReadFileFilter、CanWriteFileFilter
⑥隱藏屬性:HiddenFileFilter
2.邏輯關系過濾器
=============================================
①邏輯與:AndFileFilter
②邏輯或:OrFileFilter
③邏輯非:NotFileFilter
④永真/假:TrueFileFilter、FalseFil 閱讀全文
=============================================
①類型:DirectoryFileFilter、FileFileFilter
②大小:EmptyFileFilter、SizeFileFilter
③時間:AgeFileFilter
④名稱:NameFileFilter、PrefixFileFilter、SuffixFileFilter、RegexFileFilter、WildcardFileFilter
⑤讀寫屬性:CanReadFileFilter、CanWriteFileFilter
⑥隱藏屬性:HiddenFileFilter
2.邏輯關系過濾器
=============================================
①邏輯與:AndFileFilter
②邏輯或:OrFileFilter
③邏輯非:NotFileFilter
④永真/假:TrueFileFilter、FalseFil 閱讀全文
【Java基礎專題】IO與文件讀寫---使用DirectoryWalker和FileFilterUtils進行搜索
摘要: Apache commons IO包中提供了一個可以遍歷目錄下資源的DirectoryWalker,還有很多的IOFileFilter用于過濾文件目錄。下面的例子分別演示了這個功能。
這兩個搜索類都是以內部類的方式嵌入客戶端的,客戶端接收客戶的參數,然后通過一個后臺線程來進行搜索,等待子線程完成搜索后(join方法),再打印搜索結果。
注意這個過程是可以被cancel的。cancel主要有2種情況。外部cancel:外部線程通過調用內部類的cancel()方法。內部cancel:在handleDirectory、handleFile中主動拋出CancelException。
walk方法在每次執行前、后都會檢查當前是否有cancel指令發出(checkIfCancelled ---> handleIsCancelled),如果有那么默認立刻拋出CancelException,然后調用handleCancelled方法。 閱讀全文
這兩個搜索類都是以內部類的方式嵌入客戶端的,客戶端接收客戶的參數,然后通過一個后臺線程來進行搜索,等待子線程完成搜索后(join方法),再打印搜索結果。
注意這個過程是可以被cancel的。cancel主要有2種情況。外部cancel:外部線程通過調用內部類的cancel()方法。內部cancel:在handleDirectory、handleFile中主動拋出CancelException。
walk方法在每次執行前、后都會檢查當前是否有cancel指令發出(checkIfCancelled ---> handleIsCancelled),如果有那么默認立刻拋出CancelException,然后調用handleCancelled方法。 閱讀全文
【Java基礎專題】IO與文件讀寫---對同步/異步和阻塞/非阻塞的理解
摘要: ①同步的操作,如果在等待的過程不能做別的事情,它是同步+阻塞的。這個也是最常見的
②同步的操作,如果在等待的過程可以做別的事情,它是同步+非阻塞的。
③異步的操作,如果在等待的過程不能做別的事情,它是異步+阻塞的。
④異步的操作,如果在等待的過程可以做別的事情,它是異步+非阻塞的。這個也是最常見的 閱讀全文
②同步的操作,如果在等待的過程可以做別的事情,它是同步+非阻塞的。
③異步的操作,如果在等待的過程不能做別的事情,它是異步+阻塞的。
④異步的操作,如果在等待的過程可以做別的事情,它是異步+非阻塞的。這個也是最常見的 閱讀全文
【Java基礎專題】IO與文件讀寫---同步/異步與阻塞/非阻塞的區別(轉)
摘要: 同步/異步:消息通知機制。是自己主動關注消息還是靠別人通知
阻塞/非阻塞:消息處理機制。等待消息處理完成的過程能否做別的事情 閱讀全文
阻塞/非阻塞:消息處理機制。等待消息處理完成的過程能否做別的事情 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO包進行資源遍歷
摘要: 要使用DirectoryWalker來遍歷一個目錄并進行相應的操作,步驟如下:
①創建一個繼續于DirectoryWalker的類,并在構造方法中調用super();
②定義一個業務入口方法,例如clean。在這個方法中調用walk方法
③覆蓋DirectoryWalker類的handleDirectory方法,提供相應的處理邏輯
④覆蓋DirectoryWalker類的handleFile方法,提供相應的處理邏輯 閱讀全文
①創建一個繼續于DirectoryWalker的類,并在構造方法中調用super();
②定義一個業務入口方法,例如clean。在這個方法中調用walk方法
③覆蓋DirectoryWalker類的handleDirectory方法,提供相應的處理邏輯
④覆蓋DirectoryWalker類的handleFile方法,提供相應的處理邏輯 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO過濾文件和目錄
摘要: 它們可以分為兩大類:
①實質性過濾器:例如針對文件的類型,屬性,名稱,大小進行過濾的過濾器
②過濾器連接器:典型的包括AndFileFilter、OrFileFilter。用于邏輯連接多個過濾器 閱讀全文
①實質性過濾器:例如針對文件的類型,屬性,名稱,大小進行過濾的過濾器
②過濾器連接器:典型的包括AndFileFilter、OrFileFilter。用于邏輯連接多個過濾器 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO操縱底層讀寫
摘要: 對IOUtils類的剖析 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
摘要: FileUtils總體上來說,主要功能有:
※ 資源的創建、刪除
※ 資源的復制、移動
※ 資源的讀寫
※ 資源的比較
※ 資源的過濾
※ 資源的轉換 閱讀全文
※ 資源的創建、刪除
※ 資源的復制、移動
※ 資源的讀寫
※ 資源的比較
※ 資源的過濾
※ 資源的轉換 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO包規范文件名
摘要: 使用Apache commons IO包規范文件名 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons io包提高讀寫效率
摘要: 本文通過對Apache commons io包的input,output子類的源代碼研究,來揭示為什么使用commons IO包會在性能上由于JDK自帶的IO類。
特別是輸出流方面 閱讀全文
特別是輸出流方面 閱讀全文
【Java基礎專題】IO與文件讀寫---Java的IO流架構
摘要: 使用圖例全面展示Java中IO的架構,特別是節點流和過濾流及其之間的轉換 閱讀全文
【Java基礎專題】編碼與亂碼(08)---JavaEE防止中文亂碼的設置
摘要: 良好的編程習慣,對編碼和數據傳輸流程的清晰認識,規范的配置是確保JavaEE應用不會出現亂碼的三大法寶 閱讀全文
【Java基礎專題】編碼與亂碼(07)---native2ascii命令的用法
摘要: 可以看到該命令對于英文字符,數字不會轉換而是直接輸出,而對于每個中文字符則轉換成以\u開頭的4個16進制數字。
通常情況下,如果要進行字符的逆轉換,-encoding encoding_name這個參數都會配合-reverse出現。在上面的例子中因為本地系統是中文操作系統,所以即便沒有指定-encoding也可以正確地從unicode ---》GBK。如果是在英文平臺下由于默認字符集是ISO-8859-1,那么這個時候如果不指定則轉換出來的將是?了。 閱讀全文
通常情況下,如果要進行字符的逆轉換,-encoding encoding_name這個參數都會配合-reverse出現。在上面的例子中因為本地系統是中文操作系統,所以即便沒有指定-encoding也可以正確地從unicode ---》GBK。如果是在英文平臺下由于默認字符集是ISO-8859-1,那么這個時候如果不指定則轉換出來的將是?了。 閱讀全文
【Java基礎專題】編碼與亂碼(06)---字符的各種值轉換
摘要: 可以看到在Java中,字符的unicode有兩種表示顯示:一種是10進制形式,一種是16進制形式。它們可以分別通過:int i = (int)(string.charAt(i))和Integer.toHexString(i);獲得。而且在java文件和Web頁面,同一個unicode的表示形式是不同。web頁面需要用進行轉義,在java文件中則使用\u進行轉義。 閱讀全文
【Java基礎專題】編碼與亂碼(05)---GBK與UTF-8之間的轉換
摘要: 在這個專題的第一篇文章【Java基礎專題】編碼與亂碼(01)---編碼基礎 開頭,我們就已經介紹了這個規則:
①得到每個字符的2進制GBK編碼
②將該16進制的GBK編碼轉換成2進制的字符串(2個字節)
③分別在字符串的首位插入110,在第9位插入10,在第17位插入10三個字符串,得到3個字節
④將這3個字節分別轉換成16進制編碼,得到最終的UTF-8編碼。 閱讀全文
①得到每個字符的2進制GBK編碼
②將該16進制的GBK編碼轉換成2進制的字符串(2個字節)
③分別在字符串的首位插入110,在第9位插入10,在第17位插入10三個字符串,得到3個字節
④將這3個字節分別轉換成16進制編碼,得到最終的UTF-8編碼。 閱讀全文
【Java基礎專題】編碼與亂碼(04)---輸出時的編碼與亂碼
摘要: 謹慎地使用getBytes(NAME_OF_CHARSET)和new String(bytes, NAME_OF_CHARSET),除非你很清楚的知道原始的字符編碼和傳輸協議使用的編碼。
推薦使用基于服務器的配置、過濾器設置request/response的characterEncoding、content type屬性。還有就是JSP頁面的pageEncoding屬性、HTML meta元素的content type屬性。盡量避免頻繁的在代碼中進行字符串轉碼,即降低了效率又增加了風險 閱讀全文
推薦使用基于服務器的配置、過濾器設置request/response的characterEncoding、content type屬性。還有就是JSP頁面的pageEncoding屬性、HTML meta元素的content type屬性。盡量避免頻繁的在代碼中進行字符串轉碼,即降低了效率又增加了風險 閱讀全文
【Java基礎專題】編碼與亂碼(03)----String的toCharArray()方法
摘要: 這個方法再次證明了String的getBytes()方法的危險性,如果我們使用new String(str.getBytes(), encoding)對字符串進行重新編碼解碼時,我們一定要清楚str.getBytes()方法返回的字節數組的長度、內容到底是什么,因為在接下來使用新的encoding進行編碼解碼時,Java并不會自動地對字節數組進行擴展以適應新的encoding。而是按照新的編碼方法直接對該字節數組進行解析。
于是結果就像上面的例子一樣,同樣是4個原始字節,有些每2個一組進行解析,有些每個一組進行解析,有些每3個一組進行解析。其結果就只能看那種編碼方式合適了。 閱讀全文
于是結果就像上面的例子一樣,同樣是4個原始字節,有些每2個一組進行解析,有些每個一組進行解析,有些每3個一組進行解析。其結果就只能看那種編碼方式合適了。 閱讀全文
【Java基礎專題】編碼與亂碼(02)---String的getBytes([encoding])方法
摘要: 不要輕易地使用或濫用String類的getBytes(encoding)方法,更要盡量避免使用getBytes()方法。因為這個方法是平臺依賴的,在平臺不可預知的情況下完全可能得到不同的結果。如果一定要進行字節編碼,則用戶要確保encoding的方法就是當初字符串輸入時的encoding。 閱讀全文
【Java基礎專題】編碼與亂碼(01)---編碼基礎
摘要: Unicode到UTF-8的轉換:Unicode的16進制編碼<-->對應的2進制編碼<-->UTF-8規范的2進制編碼<-->UTF-8規范的16進制編碼
也就是說,假如我們需要從磁盤文件、數據庫記錄、網絡傳輸一些字符,保存到Java的變量中,要經歷由bytes-->encode字符-->Unicode字符的轉換(例如new String(bytes, encode));而要把Java變量保存到文件、數據庫或者通過網絡傳輸,系統要做一個Unicode字符-->encode字符-->bytes的轉換(例如String.getBytes([encode])) 閱讀全文
也就是說,假如我們需要從磁盤文件、數據庫記錄、網絡傳輸一些字符,保存到Java的變量中,要經歷由bytes-->encode字符-->Unicode字符的轉換(例如new String(bytes, encode));而要把Java變量保存到文件、數據庫或者通過網絡傳輸,系統要做一個Unicode字符-->encode字符-->bytes的轉換(例如String.getBytes([encode])) 閱讀全文
【原】RSS工具開發手記(14)---Informa的exporters包
摘要: Informa不僅提供了對不同版本的RSS Feed source的讀入和解析,同樣也提供了將channel object導出為不同協議版本的XML文件的功能。這個功能是通過exporters包下的各個導出類來完成的。目前僅支持對RSS協議的導出,不支持Atom協議、OPML協議的導出。 閱讀全文
【原】RSS工具開發手記(13)---Informa的parsers包
摘要: OPML(Outline Processor Markup Language)協議正是用于解決這樣問題的。利用OPML協議,我們可以通過閱讀器把已經訂閱的頻道導出為OPML協議規定的格式,從而作為
一個文件分享出去。 閱讀全文
一個文件分享出去。 閱讀全文
【原】RSS工具開發手記(12)---Informa的parsers包
摘要: 可以看到,對于這個解析過程,一般的步驟就是:
A.獲取channnel下的某個子節點元素
B.如果該子節點元素有子元素或屬性,則繼續遞歸訪問
C.調用該channnel子元素的createXxx方法加載或創建該子元素
D.調用Channel的setXxx方法添加該子元素到channel實例中 閱讀全文
A.獲取channnel下的某個子節點元素
B.如果該子節點元素有子元素或屬性,則繼續遞歸訪問
C.調用該channnel子元素的createXxx方法加載或創建該子元素
D.調用Channel的setXxx方法添加該子元素到channel實例中 閱讀全文
【原】RSS工具開發手記(11)---Informa的parse包
摘要: FeedParser是一個facade類,這個類的工作就是根據讀入的RSS Feed的協議系和版本“委托(delegate)”給已經硬編碼的規則(concrete rules)指定的解析器,而且這些解析器是私有的。這意味著:用戶不能直接調用一個RSS_0_91_Parser類的實例來進行解析工作。 閱讀全文
【原】RSS工具開發手記(10)---Informa的impl.hibernate包
摘要: ChannelBuilder對channel object的創建原則就是:
A.如果能夠從持久層中找到對應的記錄,那么從持久層返回
B.如果找不到,則創建它并持久化它,然后返回該對象(已持久化)
只要記得的一點就是:從ChannelBuilder返回的對象都是已經持久化的。 閱讀全文
A.如果能夠從持久層中找到對應的記錄,那么從持久層返回
B.如果找不到,則創建它并持久化它,然后返回該對象(已持久化)
只要記得的一點就是:從ChannelBuilder返回的對象都是已經持久化的。 閱讀全文
【原】RSS工具開發手記(07)---Informa的impl.basic包
摘要: 這個ID生成類采用了系統當前時間作為隨即數產生的種子,這個并不難理解。但是有一個地方需要我們注意的就是關鍵字transient的使用。這個關鍵的作用是告訴編譯器假設該類的對象被序列化了,這個值不需要被保存。因為它是“瞬時”的。 閱讀全文
【原】RSS工具開發手記(05)---Informa的impl.basic包
摘要: 總結起來,channel的創建,更新過程如下:
①接收經過ChannelParser解析后的XML Element元素,和其他一系列屬性,調用構造方法
②構造方法為channel生成一個全局唯一ID
③構造方法創建item列表,觀察者列表,設置好分類(Category),首次更新時間
④如果有新item到來,則添加到item列表,同時更新item的channel歸屬
⑤如果現有channel更新,則設置最新更新時間
⑥通知每一個已注冊的觀察者有事件發生 閱讀全文
①接收經過ChannelParser解析后的XML Element元素,和其他一系列屬性,調用構造方法
②構造方法為channel生成一個全局唯一ID
③構造方法創建item列表,觀察者列表,設置好分類(Category),首次更新時間
④如果有新item到來,則添加到item列表,同時更新item的channel歸屬
⑤如果現有channel更新,則設置最新更新時間
⑥通知每一個已注冊的觀察者有事件發生 閱讀全文
【原】RSS工具開發手記(04)---Informa的core包
摘要: Informa的core包介紹如下:
“This package contains interfaces for the news channel objects, it builds the core API for all news channel storage implementation. ”
從上面這句話來看,core包里面定義的都是關于“news channel objects”的接口---實際上就是RSS協議中的channel和item元素。經過一個多小時查看源代碼和閱讀API,發現Informa對core包的設計有如下特點:
core包中的元素被分為標記接口、實體接口、行為接口 閱讀全文
“This package contains interfaces for the news channel objects, it builds the core API for all news channel storage implementation. ”
從上面這句話來看,core包里面定義的都是關于“news channel objects”的接口---實際上就是RSS協議中的channel和item元素。經過一個多小時查看源代碼和閱讀API,發現Informa對core包的設計有如下特點:
core包中的元素被分為標記接口、實體接口、行為接口 閱讀全文
【原】RSS工具開發手記(03)---初始Informa
摘要: Informa的API結構如下:
★core包:
核心包。訂閱了RSS中channel,item等一系列元素和元數據的接口
★impl.basic包:
基本功能包。使用in-memory模式實現了core包訂閱的接口
★impl.hibernate包:
基于hibernate實現的包,使用關系型數據庫模式實現了core包定義的接口
★parsers包:
定義了永遠解析channel,item的解析器工具
★exporters包:
定義了一組把channel,item導出成各種協議格式的工具
★search包:
定義了用于全文搜索channel,item的工具
★utils.manager.memory包:
定義了一組用于管理“in-memory”模式持久化的工具
★utils.manager.hibernate包: 閱讀全文
★core包:
核心包。訂閱了RSS中channel,item等一系列元素和元數據的接口
★impl.basic包:
基本功能包。使用in-memory模式實現了core包訂閱的接口
★impl.hibernate包:
基于hibernate實現的包,使用關系型數據庫模式實現了core包定義的接口
★parsers包:
定義了永遠解析channel,item的解析器工具
★exporters包:
定義了一組把channel,item導出成各種協議格式的工具
★search包:
定義了用于全文搜索channel,item的工具
★utils.manager.memory包:
定義了一組用于管理“in-memory”模式持久化的工具
★utils.manager.hibernate包: 閱讀全文
【原】RSS工具開發手記(02)---工欲善其事,必先利其器
摘要: 選擇一個開源框架,我的標準有幾條:
★良好的文檔和源代碼管理:這是最基本的一條,想RSSLibJ這種連文檔、官網都沒有的一律pass掉
★持續的改進:這是第二個重要的,像上面某些工具從02年后就不再更新了,出了問題你找誰訴苦去
★簡單和易上手:在短時間內可以迅速依樣畫葫蘆
★活躍的社區:參與的人越多軟件成長得越多。我不是特別在乎軟件目前的使用率,因為好的軟件都是慢慢出名的 閱讀全文
★良好的文檔和源代碼管理:這是最基本的一條,想RSSLibJ這種連文檔、官網都沒有的一律pass掉
★持續的改進:這是第二個重要的,像上面某些工具從02年后就不再更新了,出了問題你找誰訴苦去
★簡單和易上手:在短時間內可以迅速依樣畫葫蘆
★活躍的社區:參與的人越多軟件成長得越多。我不是特別在乎軟件目前的使用率,因為好的軟件都是慢慢出名的 閱讀全文
【原】Java 多線程 之 ThreadLocal
摘要: ThreadLocal作用解析及代碼實例 閱讀全文
【原】Java Reflection 之 Array
摘要: Java反射之Array 閱讀全文
【原】Java Reflection 之 Filed
摘要: Java反射之Filed 閱讀全文
【原】Java Reflection 之 Method
摘要: Java反射之Method 閱讀全文
【原】Java Reflection 之 Class
摘要: Java反射之Class 閱讀全文
【原】多線程編程的基礎知識點
摘要: 【一】進程、線程、并發執行
【二】JVM與多線程
【三】Java語言對多線程的支持
【四】線程的狀態切換
【五】Java中線程的調度API
【六】參考文章 閱讀全文
【二】JVM與多線程
【三】Java語言對多線程的支持
【四】線程的狀態切換
【五】Java中線程的調度API
【六】參考文章 閱讀全文
【半轉載】一個不錯的多線程Socket服務器簡單例子
摘要: 多線程池化Socket服務器 閱讀全文
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
29 | 30 | 1 | 2 | 3 | 4 | 5 | |||
6 | 7 | 8 | 9 | 10 | 11 | 12 | |||
13 | 14 | 15 | 16 | 17 | 18 | 19 | |||
20 | 21 | 22 | 23 | 24 | 25 | 26 | |||
27 | 28 | 29 | 30 | 31 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
常用鏈接
留言簿(21)
隨筆分類
- J2EE 框架(9)
- J2EE基礎(4)
- J2SE(43)
- Java 工具(5)
- Oracle Concept(4)
- Oracle SQL/PLSQL(9)
- Oracle 開發(13)
- Oracle 管理(4)
- Oracle 調優
- Oracle 錯誤診斷
- RoR(19)
- UML(3)
- Unix / Linux(13)
- Web基礎(19)
- 其它技術(7)
- 感悟(3)
- 雜項(7)
- 架構與性能(8)
- 模式與重構(19)
- 灌水(8)
- 電影與音樂(16)
- 走過的路(1)
- 軟件過程與軟件方法(3)
- 陽光戶外(2)
- 項目管理(36)
隨筆檔案
- 2012年2月 (3)
- 2011年11月 (4)
- 2011年10月 (1)
- 2011年9月 (2)
- 2011年8月 (2)
- 2011年7月 (5)
- 2011年6月 (3)
- 2011年5月 (1)
- 2011年4月 (1)
- 2011年3月 (3)
- 2011年1月 (1)
- 2010年12月 (1)
- 2010年11月 (5)
- 2010年10月 (3)
- 2010年9月 (1)
- 2010年7月 (1)
- 2010年6月 (1)
- 2010年5月 (4)
- 2010年4月 (9)
- 2010年3月 (19)
- 2010年2月 (8)
- 2010年1月 (3)
- 2009年12月 (34)
- 2009年11月 (1)
- 2009年10月 (2)
- 2009年7月 (4)
- 2009年6月 (5)
- 2009年5月 (3)
- 2009年4月 (2)
- 2009年3月 (1)
- 2009年2月 (5)
- 2009年1月 (5)
- 2008年12月 (13)
- 2008年11月 (4)
- 2008年10月 (1)
- 2008年9月 (6)
- 2008年8月 (5)
- 2008年7月 (3)
- 2008年6月 (31)
- 2008年5月 (10)
- 2008年4月 (9)
- 2008年3月 (7)
- 2008年2月 (4)
- 2008年1月 (19)
BlogJava熱點博客
好友博客
搜索
最新評論

- 1.?re: 【Java基礎專題】編碼與亂碼(01)---編碼基礎[未登錄]
- 666666666666666666666這幾天正在做個類似工程編碼出現錯誤
- --李
- 2.?re: 【Java基礎專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
- 不錯
- --阿斯蘭
- 3.?re: 【Java基礎專題】編碼與亂碼(03)----String的toCharArray()方法
- 多謝分享
- --thx
- 4.?re: 【Java基礎專題】編碼與亂碼(05)---GBK與UTF-8之間的轉換
- 評論內容較長,點擊標題查看
- --karl
- 5.?re: 【Java基礎專題】編碼與亂碼(01)---編碼基礎[未登錄]
- 謝謝,幫了我大忙!
- --小龍