RandomAccessFileDemo1~2 读写文件的方法

RandomAccessFileDemo1 写文件的方法
 
/**
 *    文件操作 --- RandomAccessFile
 *    Java提供了一个可以对文件随机访问的操作,访问包括读和写操作。基于指针形式读写文件数据。
 *    该类名为RandomAccessFile。该类的读写是基于指针的操作。
 
     RandomAccessFile支持两种创建模式
    只读模式:仅对文件数据进行读取工作
    读写模式:对文件数据读写操作
 
    常用构造方法
    RandomAccessFile(File file,String mode)
                    //如果有File对象写对象
    RandomAccessFile(String path,String mode)
                    //如果没有File对象,直接写路径名
    其中mode对应的字符串为:
    r:只读模式    rw:读写模式
 
    读写方法:
    RandomAccessFile提供了一个可以向文件中写出字节的方法: void write(int d)
    RandomAccessFile提供了一个可以从文件中读取字节的方法: int read()
    注意:读写全部进行完毕后必须关闭释放资源
 
 */
public class RandomAccessFileDemo1 {

    public static void main(String[] args) throws IOException {
        //创建一个基于文件访问的读写模式的RandomAccessFile我们只需要在第二个参数中传入”rw”即可。
        RandomAccessFile rafDemo = new RandomAccessFile("rafDemo.txt","rw");
        //那么这时在使用RandomAccessFile对该文件的访问就是又可读又可写的。

        /* RandomAccessFile提供了一个可以向文件中写出字节的方法:
         * void write(int d)
         * 写出一个字节,写的是给定的int值所对应的2进制的"低八位"
         * (方法会根据当前指针所在位置处写入一个字节,是将参数int的”低8位”写出。)
         *                            vvvvvvvv
         * 00000000 00000000 00000000 00000001
         */
        rafDemo.write(97);
        /* 会进行二进制的低八位转化写给rafDemo文件.文本编辑器会将低八位转换成字符显示出来.
              所以rafDemo.txt的内容用记事本打开会显示一个字符a */

        /*提示语句*/
        System.out.println("写入完毕");

        //读写全部进行完毕后必须关闭释放资源
        rafDemo.close();
    }
}
View Code
RandomAccessFileDemo2 读取文件内容
/**
 *    文件操作 --- RandomAccessFile
 *    
 *    RandomAccessFile提供了一个可以从文件中读取字节的方法: int read()
 *    该方法会从RandomAccessFile当前指针位置读取一个byte(8位) 填充到int的低八位, 
    高24位为0, 返回值范围正数: 0~255, 如果返回-1表示读取到了文件末尾EOF(EOF:End Of File)! 
    每次读取后自动移动文件指针, 准备下次读取。
    总结:1.在无参数,不循环的情况下,这个方法, 只会读取第一个字节(8位)的内容并返回对应的int型数值.
        2.如果这个字节的内容超过0~255范围,那么只截取这个int型整数的二进制的最低8位.
 
    注意:读写全部进行完毕后必须关闭释放资源
 */
public class RandomAccessFileDemo2 {

    public static void main(String[] args) throws IOException {
        //创建一个基于文件访问的读写模式的RandomAccessFile我们只需要在第二个参数中传入”rw”即可。
        RandomAccessFile rafDemo = new RandomAccessFile("rafDemo.txt","rw");
        //那么这时在使用RandomAccessFile对该文件的访问就是又可读又可写的。

        /*    读取一个字节的方法: int read()
        该方法会从RandomAccessFile当前指针位置读取一个byte(8位) 填充到int的低八位, 
        高24位为0, 返回值范围正数: 0~255, 
        如果返回-1表示读取到了文件末尾EOF(EOF:End Of File)! 
        每次读取后自动移动文件指针, 准备下次读取。
         */

        int returnLen = rafDemo.read();
        //注意:读取的规则:从此文件中  当前指针位置 读取一个数据字节(8位).
        //将1个字节的内容转换成十进制,返回给int returnLen.
        System.out.println(returnLen);

        //读写全部进行完毕后必须关闭释放资源
        rafDemo.close();
    }
}
View Code

 

posted @ 2016-04-30 15:09  安仔80  阅读(293)  评论(0编辑  收藏  举报