RandomAccessFile
import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.util.Arrays; public class RafDemo { 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"); raf.write('A'); System.out.println(raf.getFilePointer()); raf.write('B'); System.out.println(raf.getFilePointer()); int i = 0x7fffffff; // int j = i >>> 24; // System.out.println( Integer.toHexString(j)); raf.write(i >>> 24); raf.write(i >>> 16); raf.write(i >>> 8); raf.write(i); System.out.println(raf.getFilePointer()); raf.writeInt(i); String s = "中"; byte[] gbk = s.getBytes("gbk"); raf.write(gbk); System.out.println(raf.length()); raf.seek(0); byte[] buf = new byte[(int)raf.length()]; raf.read(buf); System.out.println(Arrays.toString(buf)); String s1 = new String(buf,"gbk"); System.out.println(s1); raf.close(); } }
Console:
1
2
6
12
[65, 66, 127, -1, -1, -1, 127, -1, -1, -1, -42, -48]
AB??????中