返回顶部

收藏

java使用RandomAccessFile 类存取文件

更多

下面例子演示如何使用RandomAccessFile类。

在下面的例子中我们首先打开文本文件,并指定读写权限,然后向文件中写入两行文本,然后将文件指针指向第二行开始处,然后读取第二行的内容。

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

/**
 *
 * @author outofmemory.cn
 */
public class Main {

    /**
     * RandomAccessFile 使用示例
     */
    public void testRandomAccessFile(String filename) {

        RandomAccessFile randomAccessFile = null;
        try {

            //定义要写入文件的字符串
            String line1 = "First line\n";
            String line2 = "Second line\n";

            //创建RandomAccessFile实例,指定读写权限
            randomAccessFile = new RandomAccessFile(filename, "rw");

            //写入字符串
            randomAccessFile.writeBytes(line1);
            randomAccessFile.writeBytes(line2);

            //将文件指针指向line1结尾处
            randomAccessFile.seek(line1.length());

            //声明一个和line2相同长度的字节数组
            byte[] buffer = new byte[line2.length()];

            //读取line2内容
            randomAccessFile.read(buffer);

            //将读取出来的字符串打印到控制台
            System.out.println(new String(buffer));

        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            try {

                if (randomAccessFile != null)
                    randomAccessFile.close();

            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }

    }

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Main().testRandomAccessFile("myFile.txt");
    }
}

文件内容:

First line
Second line

控制台输出:

Second line

标签:java,IO,文件

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 博主 发表 2016-07-27 00:00:00 Scalable IO in Java
  2. 尖兵 发表 2016-10-21 12:29:44 (Ajax) 浅谈 JSONP 的原理与实现
  3. 李璟 发表 2014-11-14 16:16:16 Java IO: File
  4. xubiao.zhuang 发表 2016-12-06 15:55:04 HashMap源码解析
  5. puefu.he 发表 2017-03-25 15:24:33 NW.js v0.22.0-beta1 发布,Chromium  58
  6. root 发表 2015-04-28 05:08:01 使用java NIO进行读文件
  7. yeseng 发表 2018-04-15 15:22:47 玩Hook技术?这三个选择题能答对算我服你!
  8. Harries 发表 2018-01-18 15:04:49 使用 Spring Boot 2.0 + WebFlux 实现 RESTful API
  9. 李璟 发表 2014-11-08 17:44:24 Java IO: FileInputStream
  10. 李璟 发表 2014-11-11 16:32:51 Java IO: RandomAccessFile
  11. 李璟 发表 2014-11-19 15:38:13 Java IO: ByteArray和Filter
  12. 博主 发表 2014-12-11 00:00:00 Java文件读取支持timeout

发表评论