Java國際化(i18n)教學
Java國際化(i18n)簡介
Java國際化(i18n) Locale類
Java國際化(i18n) Locale類詳細示例
Java國際化(i18n)顯示語言
Java國際化(i18n)ResourceBundle類
Java國際化(i18n)NumberFormat類
Java國際化(i18n)格式化貨幣
Java國際化(i18n)格式化百分比
Java國際化(i18n)設置最小/最大精度
Java國際化(i18n)設置舍入模式
Java國際化(i18n)解析數字
Java國際化(i18n)DecimalFormat類
Java國際化(i18n)格式化模式
Java國際化(i18n)區域設置特定的DecimalFormat
Java國際化(i18n)DecimalFormatSymbols類
Java國際化(i18n)分組數字
Java國際化(i18n)DateFormat類
Java國際化(i18n)格式化日期
Java國際化(i18n)格式化時間
Java國際化(i18n)格式化日期時間
Java國際化(i18n)SimpleDateFormat類
Java國際化(i18n)特定於區域的格式化日期
Java國際化(i18n)DateFormatSymbols類
Java國際化(i18n)日期格式模式
Java國際化(i18n)UTC
Java國際化(i18n)字符串與Unicode轉換
Java國際化(i18n)Reader/Writer與Unicode轉換
Java國際化(i18n)Reader/Writer與Unicode轉換
Reader和Writer類是面向字符的流類。 這些可用於讀取和轉換Unicode字符。
轉換
以下示例將使用Reader和Writer類展示Unicode字符串到UTF8 byte [],以及UTF8 byte []到Unicode byte []的轉換。
文件:IOTester.java -
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.nio.charset.Charset;
import java.text.ParseException;
public class I18NTester {
public static void main(String[] args) throws ParseException, IOException {
String input = "This is a sample text" ;
InputStream inputStream = new ByteArrayInputStream(input.getBytes());
//get the UTF-8 data
Reader reader = new InputStreamReader(inputStream, Charset.forName("UTF-8"));
//convert UTF-8 to Unicode
int data = reader.read();
while(data != -1){
char theChar = (char) data;
System.out.print(theChar);
data = reader.read();
}
reader.close();
System.out.println();
//Convert Unicode to UTF-8 Bytes
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Writer writer = new OutputStreamWriter(outputStream, Charset.forName("UTF-8"));
writer.write(input);
writer.close();
String out = new String(outputStream.toByteArray());
System.out.println(out);
}
}
執行上面示例代碼,得到以下結果 -
This is a sample text
This is a sample text