返回顶部

收藏

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. One Coder 发表 2013-11-17 13:51:26 Java NIO框架Netty教程(十七) – Netty4 Hello world
  2. admin 发表 2016-06-11 10:05:30 Java使用File.separator解决Win和Linux的路径问题
  3. 李璟 发表 2014-10-23 12:15:12 Java IO: 网络
  4. 李 璟 发表 2014-12-07 16:45:09 Java IO: 其他字符流(下)
  5. yeseng 发表 2017-02-13 19:49:09 2017程序员必听的10个播客
  6. liuchi1993 发表 2016-04-08 03:32:07 Java NIO系列教程(12):Java NIO与IO
  7. 李璟 发表 2014-10-30 16:01:36 Java IO: 流
  8. 李 璟 发表 2014-12-06 16:01:19 Java IO: 其他字节流(上)
  9. changyuan.xu 发表 2016-12-13 16:03:44 微服务:真正的架构模式
  10. dormy 发表 2013-05-05 08:26:10 JAVA操作properties文件
  11. 李璟 发表 2014-10-25 05:28:32 Java IO: 字节和字符数组
  12. 尖兵 发表 2016-10-21 12:29:44 (Ajax) 浅谈 JSONP 的原理与实现

发表评论