java-io之RandomAccessFile
生活随笔
收集整理的這篇文章主要介紹了
java-io之RandomAccessFile
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
RandomAccessFile
java提供了一個可以對文件隨機訪問的操作,訪問包括讀和寫操作。
?該類名為RandomAccessFile。該類的讀寫是基于指針的操作。
RandomAccessFile在對文件進行隨機訪問操作時有兩個模式,
?分別為只讀模式(r),和讀寫模式(rw)
?在創建RandomAccessFile時,需要給傳入加兩個參數:
? 1、 操作的文件(文件路徑String,File 對象) 如果文件不存在,自動創建
? 2、 讀寫模式
?
文件的copy--原理:
/***?使用RandomAccessFile實現文件復制*?步驟:*?1.?創建一個RandomAccessFile用于讀取原文件*?2.?創建一個RandomAccessFile用于寫到目標文件*?3.?循環一下操作:*? 3.1:從原文件兌取一個字節*??3.2:將該字節寫入到目標文件中*??退出條件:?當讀取的值為-1時,到達文件末尾,結束*??*?4.?關閉流,釋放資源*?@author?king-pan**/ public?class?CopyDemo?{public?static?void?main(String[]?args)?throws?Exception{RandomAccessFile?srcFile=new?RandomAccessFile("Linux.txt",?"r");RandomAccessFile?descFile=new?RandomAccessFile("LinuxCopy.txt",?"rw");int?val=-1;while((val=srcFile.read())!=-1){descFile.write(val);}srcFile.close();descFile.close();} }文件copy的優化:
RandomAccessFile對基本類型的讀寫操作:
public?static?void?write(){try?{RandomAccessFile?raf=new?RandomAccessFile("test.bat","rw");int?max=Integer.MAX_VALUE;/***?右移運算 *?raf.write(max>>>24);*?raf.write(max>>>16);*?raf.write(max>>>8);*?raf.write(max);?*/raf.writeByte(Byte.MAX_VALUE);raf.writeBoolean(Boolean.TRUE);raf.writeChar(Character.MAX_CODE_POINT);raf.writeShort(Short.MAX_VALUE);//完整的寫入了一個intraf.writeInt(max);raf.writeLong(Long.MAX_VALUE);raf.writeFloat(Float.MAX_VALUE);raf.writeDouble(Double.MAX_VALUE);raf.close();}?catch?(Exception?e)?{e.printStackTrace();}}public?static?void?read(){try?{RandomAccessFile?raf=new?RandomAccessFile("test.bat","rw");byte?b=raf.readByte();boolean?bl=raf.readBoolean();char?c=raf.readChar();short?s=raf.readShort();int?i=raf.readInt();long?l=raf.readLong();float?f=raf.readFloat();double?d=raf.readDouble();System.out.println("byte:"+b);System.out.println("boolean:"+bl);System.out.println("char:"+c);System.out.println("short:"+s);System.out.println("int:"+i);System.out.println("long:"+l);System.out.println("float:"+f);System.out.println("double:"+d);raf.close();}?catch?(Exception?e)?{e.printStackTrace();}}轉載于:https://my.oschina.net/KingPan/blog/322917
總結
以上是生活随笔為你收集整理的java-io之RandomAccessFile的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7 CapsLooks键 转换成
- 下一篇: vector的简单实现