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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

關(guān)于編碼的問題

該代碼中,已經(jīng)把“中”以gbk的方式進(jìn)行存儲,而后又以gbk編碼的形式將其讀取,為什么還會出現(xiàn)亂碼?

正在回答

10 回答

txt文本的編碼是ansi,雖然你寫入時設(shè)置了gbk(txt文件中可以正常顯示)但是控制臺輸出的編碼是utf-8和ansi不相符合,所以出現(xiàn)亂碼。個人意見,還請指正.

0 回復(fù) 有任何疑惑可以回復(fù)我~


pppp

0 回復(fù) 有任何疑惑可以回復(fù)我~

oo?o?lo?o
oo?oo
oo
l

0 回復(fù) 有任何疑惑可以回復(fù)我~

oolo

0 回復(fù) 有任何疑惑可以回復(fù)我~

o

lo

0 回復(fù) 有任何疑惑可以回復(fù)我~

ooo?o

0 回復(fù) 有任何疑惑可以回復(fù)我~

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
public class RafDome {

?public static void main(String[] args) throws IOException {
??File demo? = new File("demo");
??if(!demo.exists()){
???demo.mkdir();
??}
??File file =new File(demo,"ra.dat");
??if(!file.exists()){
???file.createNewFile();
??}??
??RandomAccessFile raf =new RandomAccessFile(file,"rw");
??System.out.println(raf.getFilePointer());


??String s="AB123456中國人民政府";
??byte[]? buf =s.getBytes("gbk");
??System.out.println(buf.length);
??raf.write(buf.length);
??raf.write(buf);
??
??raf.seek(0);
??
??byte [] bu? =new byte[(int)raf.read()];??
??raf.read(bu);
??String? str= new? String(bu,"gbk");
??System.out.println(str);
??raf.close();
?}
}

//這里我寫了一個批量寫入和讀取


0 回復(fù) 有任何疑惑可以回復(fù)我~
public?class?RandomAccessFileTest?{
	public?static?void?main(String[]?args)throws?IOException?{
		File?file1=new?File("demo");
		if(!file1.exists())
			file1.mkdir();
		File?file2=new?File(file1,"a.txt");
		if(!file2.exists())
			file2.createNewFile();
		RandomAccessFile?raf?=?new?RandomAccessFile(file2,?"rw");
		//指針的位置
		System.out.println(raf.getFilePointer());
		raf.write('a');//只寫一個字節(jié)
		System.out.println(raf.getFilePointer());
		raf.write('b');
		System.out.println(raf.getFilePointer());
		int?i=0x7fffffff;
		raf.write(i>>>24);//寫入后八位
		System.out.println(raf.getFilePointer());

		raf.write(i>>>16);
		System.out.println(raf.getFilePointer());
		
		raf.write(i>>>8);
		System.out.println(raf.getFilePointer());

		raf.write(i);
		System.out.println(raf.getFilePointer());

		raf.writeInt(i);
		System.out.println(raf.getFilePointer());
		
		String?string="中";
		byte[]?byte1=string.getBytes("gbk");
		raf.write(byte1);//漢字在gbk編碼中占兩個字節(jié)
		System.out.println(raf.getFilePointer());
		System.out.println("顯示該文件的字節(jié)總長度:"+raf.length());

		
		//進(jìn)行讀取操作,一次性將所有內(nèi)容讀取出來
		raf.seek(0);//將指針的指向移動到開頭
		byte[]?byte3=new?byte[(int)raf.length()];
		raf.read(byte3);//將文件的內(nèi)容讀到字節(jié)數(shù)組中
		System.out.println(Arrays.toString(byte3));
		String?string3=new?String(byte3,"gbk");
		System.out.println(string3);
		}
	}


0 回復(fù) 有任何疑惑可以回復(fù)我~

把代碼粘上來

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕前端1178442 提問者

我的代碼發(fā)在下邊了
2016-11-16 回復(fù) 有任何疑惑可以回復(fù)我~
#2

呆萌的小寶

你這個是完全不能正常讀取 還是可以讀取到內(nèi)容 后面跟一段亂碼
2016-11-16 回復(fù) 有任何疑惑可以回復(fù)我~
#3

慕前端1178442 提問者 回復(fù) 呆萌的小寶

不能正常讀取,出來的直接就是亂碼
2016-11-16 回復(fù) 有任何疑惑可以回復(fù)我~
#4

慕前端1178442 提問者 回復(fù) 呆萌的小寶

我剛剛照著你的方法試了試,還是亂碼...
2016-11-16 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

發(fā)源碼來看看,照你直接說的意思應(yīng)該是沒有問題的

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕前端1178442 提問者

我的代碼發(fā)在下邊了
2016-11-16 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
文件傳輸基礎(chǔ)——Java IO流
  • 參與學(xué)習(xí)       133811    人
  • 解答問題       1058    個

為您介紹IO流的使用,以及對象的序列化和反序列化的內(nèi)容

進(jìn)入課程

關(guān)于編碼的問題

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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