try{
RandomAccessFile r = new RandomAccessFile("e:\\my.txt","rw");
String str = "ab";
b = str.getBytes();
rf.write(b);
rf.close(); //这个时候my.txt的大小竟然为2字节,不是说java的Char全部采用unicode编码么?一个英文字母是两个字节,那么ab就应该是4个字节,为什么会是2???
}catch(Exception e){
}
另外一个问题:
try{
RandomAccessFile r = new RandomAccessFile("e:\\my.txt","rw");
String str = "ab";
b = str.getBytes();
rf.write(b);
rf.close();
rf = new RandomAccessFile("e:\\my.txt","rw"); //为什么这两行注释掉,就读不道内容,非要先关一次,再初始化一次,才能读
System.out.print(rf.readChar()); //为什么这个结果不是a??
}catch(Exception e){
}
第一个问题:
编码应该是UTF-8的字符编码,这种编码对常用的ASCII码仍然采用1个字节,而对其他不常用的字符集采用2个字节,这样做可以大大节省资源。