方法一:
創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站設計、成都做網站、外貿網站建設、右玉網絡推廣、成都小程序開發、右玉網絡營銷、右玉企業策劃、右玉品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯公司為所有大學生創業者提供右玉建站搭建服務,24小時服務熱線:18982081108,官方網址:vcdvsql.cn
思路:先轉為Unicode,然后轉為GBK
String?utf8?=?new?String(t.getBytes(?"UTF-8"));??
System.out.println(utf8);??
String?unicode?=?new?String(utf8.getBytes(),"UTF-8");???
System.out.println(unicode);??
String?gbk?=?new?String(unicode.getBytes("GBK"));??
System.out.println(gbk);
方法二:
public?static?void?main(String[]?args)?{
String?str="字符串編碼轉換";
try?{
byte[]?temp=str.getBytes("utf-8");//這里寫原編碼方式
byte[]?newtemp=new?String(temp,"utf-8").getBytes("gbk");//這里寫轉換后的編碼方式
String?newStr=new?String(newtemp,"gbk");//這里寫轉換后的編碼方式
System.out.println(newStr);
}?catch?(UnsupportedEncodingException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
}
讀取的文件流如果是read(讀取字節流的時候,中文就會是亂碼)方法,所以現在全都是聽過readline方式進行的讀取。舉例:
可以通過BufferedReader 流的形式進行流緩存,之后通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最后一行不存在,為空結束循環
{
System.out.println(str);//原樣輸出讀到的內容
};
bre.close(),//關閉流,否則bre流會一直存在,直到程序運行結束。
除此之外,java文件讀取的時候有中文就很出現亂碼,通常獲取到的文件中通常都是“iso8859-1”格式,需要轉換為“UTF-8”格式。
如:String str = new String(str.getByte("iso8859-1"),"UTF-8");進行下強制轉換后在進行讀取即可。
備注:通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的強制轉換不成功,依次進行這些格式的嘗試,肯定是可以解決問題的。
用字符流獲取全部的input.readLine();
對字符流獲取到的String轉碼 : String newString = new String(string.getBytes(),"utf-8")
再將字符寫到文件里面去
名稱欄目:文件轉碼java代碼 java代碼轉換器
文章轉載:http://vcdvsql.cn/article32/doodesc.html
成都網站建設公司_創新互聯,為您提供做網站、關鍵詞優化、網頁設計公司、標簽優化、微信公眾號、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯