黑马程序员技术交流社区
标题:
Java中的File类
[打印本页]
作者:
che201311
时间:
2013-11-23 11:17
标题:
Java中的File类
package hometest;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
public class IOFileTest {
public static void main(String[] args) throws IOException {
//创建目录
File f = new File("shirui");
if(!f.exists()){
f.mkdir();
}
//在shirui文件夹中创建raf.dat
File f2 = new File(f, "raf.dat");
if(!f2.exists()){
f2.createNewFile();
}
//打开这个文件,进行随机读写
RandomAccessFile raf = new RandomAccessFile(f2, "rw");
//输出默认的“游标”位置
System.out.println(raf.getFilePointer());//0
raf.write('A');//写入字符'A'
System.out.println(raf.getFilePointer());//1
raf.write('B');
int i = 0x7fffffff;//写入整数0x7fffffff
raf.write(i);
//写入GBK编码中的字符'中',GBK编码为d6d0
String s = "中";
//得到“中”的gbk编码形式
byte[] gbk = s.getBytes("gbk");//gbk={d6, d0}
raf.write(gbk);
System.out.println(raf.length());
System.out.println(raf.getFilePointer());
raf.close();
}
}
上面的代码我输入了4个字符,运行后的结果是,我认为应该是0,1,4,4才对啊。第二个问题是我打开raf.dat文件,里面写的是AB 中,为什么没有输入的整数i?
作者:
hurryup
时间:
2013-11-23 12:01
我运行了一下,Dat文件中是AB中啊?那个空格就是那个整数
作者:
王贺
时间:
2013-11-23 15:58
那个空格就是你输入的i,至于你说的为什么不是0144,这个更好解释了,一个汉字是2个字节,字符是1个,合起来就是0155,不是0144
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2