我是靠谱客的博主 整齐台灯,最近开发中收集的这篇文章主要介绍黑马程序员_Java基础_RandomAccessFile类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

-------android培训java培训、期待与您交流! ----------


RandomAccessFile

该类不是算是IO体系中子类,而是直接继承自Object,但是它是IO包中成员。因为它具备功能。
内部封装了一个数组,而且通过指针对数组的元素进行操作,可以通过getFilePointer获取指针位置,
同时可以通过 seek 设置 当前指针 的位置, skipBytes() 跳过 n个字节 ,不可以倒退,只能前进

构造函数
RandomAccessFile(File file, String mode) ,该文件由File参数指定,mode常见有r和rw
RandomAccessFile(String name, String mode)
如果模式为只读 r不会创建文件,去读取一个已存在文件,如果该文件不存在,则会出现异常。
如果模式rw。操作的文件不存在,会自动创建。如果存则不会覆盖。


常见函数
long getFilePointer() 返回此文件中的当前偏移量。
int read(byte[] b)
String readLine()
void seek(long pos) 设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。(可前进可倒退)
int skipBytes(int n)尝试跳过输入的 n 个字节以丢弃跳过的字节。 (只能前进)
void write(byte[] b) 将 b.length 个字节从指定 byte 数组写入到此文件,并从当前文件指针开始。

void writeInt(int v)


/*
RandomAccessFile
Strawberry2013-5-5

*/
import java.io.*;

class RandomAccessFileDemo
{
	public static void main(String[] args) throws Exception
	{
		
		write();
		read();
		
	}
	public static void write() throws Exception
	{
		RandomAccessFile raf = new RandomAccessFile("aa.txt", "rw");
		 raf.write("as".getBytes());
		 raf.write(2122);//只存储一个字节,会丢失数据, 可以使用raf.writeInt(2222);
		 //raf.writeInt(2222);
		 raf.seek(8);//设置指针的位置,可以前进也可以倒退
		 raf.skipBytes(8);//尝试跳过输入的n个字节以丢弃跳过的字节,不可以倒退!
		 raf.write(97);
	}
	public static void read() throws Exception
	{
		RandomAccessFile raf = new RandomAccessFile("aa.txt", "rw");
		byte[] bt = new byte[2];
		int num = -1;
		while((num=raf.read(bt)) != -1)
		{
			System.out.println(new String(bt, 0, num));
		}
	}

}


最后

以上就是整齐台灯为你收集整理的黑马程序员_Java基础_RandomAccessFile类的全部内容,希望文章能够帮你解决黑马程序员_Java基础_RandomAccessFile类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部