A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘文飞 中级黑马   /  2012-10-27 10:51  /  1332 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.io.File;
import java.io.RandomAccessFile;
public class RandomAccessFileDemo01{
        public static void main(String args[])throws Exception{
                File f = new File("i:"+File.separator+"code"+File.separator+"java"+File.separator+"RandomAccess.txt");
                RandomAccessFile raf = new RandomAccessFile(f,"rw");
                String name = "zhangsan";
                int age = 20;
                raf.writeBytes(name);
                raf.writeInt(age);
                name = "wangwu";
                age = 21;
                raf.writeBytes(name);
                raf.writeInt(age);
                raf.close();
        }
}

————————————————————————————
写入后的文件内容为数字是乱码,两个很奇怪的符号

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
这个是内存里边的语句,只不过咱们给显示出来了,为了验证里边是否真的存了内容, 有乱码是正常的,
回复 使用道具 举报
你读出来看下 , 只要不是乱码就行了啊 , 这里类好像是存进去的是乱码的啊 , 读出来看下 咯 , 应该不是乱码!
回复 使用道具 举报
本帖最后由 刘文飞 于 2012-10-27 16:05 编辑
范贞亮 发表于 2012-10-27 11:09
你读出来看下 , 只要不是乱码就行了啊 , 这里类好像是存进去的是乱码的啊 , 读出来看下 咯 , 应该不是 ...

import java.io.File;
import java.io.RandomAccessFile;
public class RandomAccessFileDemo02{
        public static void main(String args[])throws Exception{
                File f = new File("i:"+File.separator+"code"+File.separator+"java"+File.separator+"RandomAccess.txt");
                RandomAccessFile raf = new RandomAccessFile(f,"r");
                String name =null;
                int age = 0;
                byte[] b = new byte[8];
                raf.skipBytes(12);
                for(int i=0;i<b.length;i++){
                        b = raf.readByte();
                }
                name = new String(b);//将读取的Byte数组转换成字符串
                age = raf.readInt();
                System.out.println("name:" + name + "\n" + "age:" + age);

                raf.close();
               
        }
}
_____________________________------________________
读取时出错了
_____________________________________________________


I:\code\java>java RandomAccessFileDemo02
Exception in thread "main" java.io.EOFException
        at java.io.RandomAccessFile.readInt(RandomAccessFile.java:725)
        at RandomAccessFileDemo02.main(RandomAccessFileDemo02.java:15)
回复 使用道具 举报
李大伟 发表于 2012-10-27 11:02
这个是内存里边的语句,只不过咱们给显示出来了,为了验证里边是否真的存了内容, 有乱码是正常的, ...

读取不出。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马