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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

RandomAccessFile文件讀取操作

RandomAccessFile文件讀取操作

初心者3612361 2016-11-13 22:36:17
程序一:public class Test08 {?public static void main(String[] args) throws Exception {??RandomAccessFile raf=new RandomAccessFile("raf.dat", "rw");??int max=Integer.MAX_VALUE;??long lon=Long.MAX_VALUE;??raf.writeInt(max);??raf.seek(0);??System.out.println(raf.readInt());??System.out.println(raf.getFilePointer());??//插入代碼raf.seek(4);??raf.writeLong(lon);??System.out.println(raf.readLong());?}}執(zhí)行結(jié)果:21474836474Exception in thread "main" java.io.EOFException?at java.io.RandomAccessFile.readInt(Unknown Source)?at java.io.RandomAccessFile.readLong(Unknown Source)?at day06.Test08.main(Test08.java:23)程序二:public class Test08 {?public static void main(String[] args) throws Exception {??RandomAccessFile raf=new RandomAccessFile("raf.dat", "rw");??int max=Integer.MAX_VALUE;??long lon=Long.MAX_VALUE;??raf.writeInt(max);??raf.writeLong(lon);??raf.seek(0);??System.out.println(raf.readInt());??System.out.println(raf.getFilePointer());??System.out.println(raf.readLong());?}}結(jié)果:214748364749223372036854775807兩者只是??raf.writeLong(lon);?位置不同,為什么一個(gè)包異常,一個(gè)正常運(yùn)行,程序一插入代碼任有問(wèn)題,這是為何???
查看完整描述

1 回答

已采納
?
四無(wú)小青年

TA貢獻(xiàn)88條經(jīng)驗(yàn) 獲得超43個(gè)贊

問(wèn)題出在readLong()和writeLong()這個(gè)兩個(gè)方法,在JDK API文檔中提到過(guò)readLong()方法會(huì)從當(dāng)前指針位置開(kāi)始向后面讀取八個(gè)字節(jié),如果在讀取八個(gè)字節(jié)之前此文件已到達(dá)末尾會(huì)拋出EOFException異常。

你第一個(gè)程序在使用writeLong()之后,文件指針指向了最后一位,此時(shí)你再使用readLong()就會(huì)在讀取八位之前就到達(dá)文尾部。

第二個(gè)程序沒(méi)有報(bào)錯(cuò)是因?yàn)槟阍趓eadLong()之前使用seek()把文件指針移動(dòng)到了0號(hào)位置,此時(shí)再使用readLong()就能讀完八個(gè)字節(jié)而不報(bào)錯(cuò)了。

如果為題主解了惑的話,請(qǐng)采納


查看完整回答
1 反對(duì) 回復(fù) 2016-11-17
  • 1 回答
  • 0 關(guān)注
  • 2313 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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