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

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

我單獨測試了一下一個漢字的gbk編碼,為什么測出來長度是三,不應該是2嗎

package?com.imooc.io;

import?java.io.File;
import?java.io.IOException;
import?java.io.RandomAccessFile;

import?sun.font.CreatedFontTracker;

public?class?RafDemo?{

	/**
	?*?@param?args
	?*?@throws?IOException?
	?*/
	public?static?void?main(String[]?args)?throws?IOException?{
		//?TODO?Auto-generated?method?stub
		File?demo=new?File("demo");
		if(!demo.exists()){
			demo.mkdir();
		}
		File?file=new?File(demo,"raf.dat");
		if(!file.exists()){
			file.createNewFile();
		}
		RandomAccessFile?raf=new?RandomAccessFile(file,?"rw");

		String?s="中?";
		byte[]?gbk=s.getBytes("gbk");
		raf.write(gbk);
		System.out.println("指針的位置:"+raf.getFilePointer());
		System.out.println("長度:"+raf.length());
	}

}


正在回答

2 回答

我自己的解釋是你在用其他字節(jié)數(shù)多的編碼時,為那個文件開辟了更大的空間,而那個指針也在那后面,再寫一個小的字節(jié)數(shù)的時候,空間也不會變小,指針也沒回去,所以所指的還是大的那個位置

解決辦法:判斷的時候加這句話就可以了

if(!file.exists())//判斷是否存在目錄demo下的文件raf.dat

file.createNewFile();//創(chuàng)建文件raf.dat

else

file.delete();


0 回復 有任何疑惑可以回復我~

如果你用utf-8是不是 就說4個字節(jié)了?

你中后面有空格,在字符串中也算字符/。

刪除試試

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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