随机存取流

package New_IO;

import New_Test.Te;

import java.io.RandomAccessFile;

/**

  • 文件的随意读写
    */
    public class Test6 {
    public static void main(String[] args) {
    try {
    // Test6.testRandomAccessFile();
    Test6.testRandomAccessFileWrite();
    } catch (Exception e) {
    e.printStackTrace();
    }

    }

    /**

    • 随机读文件
      */
      public static void testRandomAccessFile() throws Exception{
      //RandomAccessFile 的构造有两个参数,参数1是读写的文件的路径
      //参数2指定的是访问模式
      // r:以只读方式打开 常用
      //rw:打开以便读取和写入 常用
      //rwd:打开以便读取和写入;同步文件内容的更新
      //rws:打开以便读取和写入;同步文件内容和元数据的更新
      RandomAccessFile ra = new RandomAccessFile(“F:\Java_project_new\src\New_IO\tt7.txt”,“r”);
      ra.seek(0);//设置读取文件内容的起始点 换行就会有换行符,换行符站2个字节位
      byte [] b = new byte[100];
      int len =0;
      while ((len=ra.read(b))!=-1){
      System.out.println(new String(b,0,len));
      }
      ra.close();

    }

    /**

    • 随意写
      */
      public static void testRandomAccessFileWrite() throws Exception{
      RandomAccessFile ra = new RandomAccessFile(“F:\Java_project_new\src\New_IO\tt7.txt”,“rw”);
      // ra.seek(0);//设置写的起始点 0代表从开头写
      ra.seek(ra.length());//设置写的起始点,ra.length()代表从文件的最后结尾写,也就是文件的追加
      //注意:如果是在文件开头或者中间的某个位置开始写的话,就会用写的内容覆盖掉等长度的原内容
      String str = “Don’t let your past determine the future.\n” +
      “别让你的过去决定你的未来。”;
      ra.write(str.getBytes());
      ra.close();
      }

}

上一篇:halcon-boundary提取边界


下一篇:545. Boundary of Binary Tree