zoukankan      html  css  js  c++  java
  • RandomAccessFile

    RandomAccessFile类的主要功能是完成随机的读取操作,本身也可以直接向文件中保存内容。

    如果要想实现随机读取,则在存储数据的时候要保证数据长度的一致性,否则是无法实现功能的。

    构造方法:public RandomAccessFile(File file,String mode) 

    需要接受一个File类的实例,并设置一个操作的模式:

    读模式:r

    写模式:w

    读写模式:rw,如果文件不存在则自动给用户创建文件

    import java.io.File;

    import java.io.FileNotFoundException;

    import java.io.IOException;

    import java.io.RandomAccessFile;

    public class RandomAcessDemo {

    public static void main(String args[])

    {

    File file=new File("d:"+File.separator+"demo.txt");

    try {

    RandomAccessFile raf=new RandomAccessFile(file,"rw");

                //写入第一条数据

    String name="zhangsan";

                int age=30;

                raf.writeBytes(name);//以字节的方式将字符串写入

                raf.writeInt(age);//写入整形数据

                //写入第二条数据

                name="lisi    ";

                age=20;

                raf.writeBytes(name);

                raf.writeInt(age);

                raf.close();//关闭文件操作

    } catch (IOException e) {

    e.printStackTrace();

    }

      

    }

    }

    在RandomAccessFile操作的时候读取的方法都是从DataInput接口实现而来,有一系列的readXX()方法,可以读取各种类型的数据,但是在RandomAccessFile中因为可以实现的读取,所以有一系列的控制方法
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.RandomAccessFile;
    public class RandomAcessDemo {
    public static void main(String args[])
    {
    File file=new File("d:"+File.separator+"demo.txt");
    try {
    RandomAccessFile raf=new RandomAccessFile(file,"rw");
                byte[] b=null;
                String name=null;
                int age=0;
                raf.skipBytes(12);//跨过第一个人的信息
                System.out.println("第二个人的信息:");
                for(int i=0;i<8;i++)
                {
                  b[i]=raf.readByte();//读取字节
                }
                age=raf.readInt();//读取数字
                System.out.println("姓名:"+new String(b));
    } catch (IOException e) {
    e.printStackTrace();
    }
      
    }
    }
    在java中要想进行io的操作一般都使用字节流和字符流

  • 相关阅读:
    像素与豪米的转换
    C#中的事件和委托
    .Datagridview数据写入DataTable
    C# winform DataGridView 常见属性
    c# winform 用代码修改DataGridView列头的名字,设置列名,修改列名
    SVN常用命令
    (装载)C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
    C# WinForm dataGridView 技巧小结
    IPV4二进制显示
    Microsoft SQL Server 2005技术内幕:TSQL查询 PerformanceDB.sql
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1947897.html
Copyright © 2011-2022 走看看