java RandomAccessFile类文件基本操作

RandomAccessFile类是java中仿C的文件操作方法,下面通过实例演示RandomAccessFile类对文件的基本操作,深入了解请查看Java API文档。(注:RandomAccessFile类大多不被采用)

上代码

import java.io.*;

public class AccessFileDemo
{
	public static void main(String[] args)
	{
		Student stu1=new Student("Zhang San",10);
		Student stu2=new Student("Li Si",11);
		Student stu3=new Student("Wang Wu",12);

		try
		{
			//未找到文件时自动创建新文件
			RandomAccessFile af=new RandomAccessFile("F:\\workspace\\JavaPrj\\test.txt","rw");
			af.writeBytes(stu1.name);
			af.writeInt(stu1.age);
			af.writeBytes(stu2.name);
			af.writeInt(stu2.age);
			af.writeBytes(stu3.name);
			af.writeInt(stu3.age);
			af.close();

			af=new RandomAccessFile("F:\\workspace\\JavaPrj\\test.txt","r");
			System.out.println("The second person‘s information is");
			int len=8;
			String str=new String();
			af.skipBytes(12);
			while(len>0)
			{
				str=str+(char)af.readByte();
				len--;
			}
			System.out.println("Name: "+str);
			System.out.println("Age : "+af.readInt());

			System.out.println("The first person‘s information is");
			af.seek(0);
			len=8;
			str="";
			while(len>0)
			{
				str=str+(char)af.readByte();
				len--;
			}
			System.out.println("Name: "+str);
			System.out.println("Age : "+af.readInt());

			System.out.println("The third person‘s information is");
			af.skipBytes(12);
			len=8;
			str="";
			while(len>0)
			{
				str=str+(char)af.readByte();
				len--;
			}
			System.out.println("Name: "+str);
			System.out.println("Age : "+af.readInt());
		}
		catch (FileNotFoundException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

class Student
{
	String name;
	int age;

	Student(String str,int num)
	{
		if(str.length()>8)
		{
			str=str.substring(0, 8);	//从索引0到索引7的字符
		}
		else
		{
			while(str.length()<8)
			{
				str=str+"\u0000";
			}
		}
		name=str;
		age=num;
	}
}

java RandomAccessFile类文件基本操作,布布扣,bubuko.com

时间: 04-30

java RandomAccessFile类文件基本操作的相关文章

java File类的基本操作

(如果有谁想要这个软件的话,在评论中留一个邮箱吧.) 前几天好几次看到有朋友晒出玩2048刷高分的截图,我就想我能不能也做一个2048呢?仔细想了想2048游戏的规律,发现其实逻辑上很简单,也不用研究什么算法,于是我马上觉得我可以很快写出来.当天下午我就用了四个小时完成了2048的基本功能.几天后觉得不满足,于是给我的2048加了存档.读档和后退一步的功能,这样就更好刷分了呢! 使用语言:C#: 平台:Visual Studio 2012 Win Form. 如何完成2048的基本功能呢?204

Java类文件最大限制

今天在往一个jsp文件里添加代码时,项目跑起来访问这个jsp时报错.. The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit _jspService方法超过65535 bytes最大限制. 额,这是什么鬼,看不懂啊.于是问问度娘,发现Java对类文件有个限制,不能超过65K字节.因为我改动的这个jsp已经很大了,而jsp文件在weblog

File类的基本操作之RandomAccessFile写入操作

今天学习java io中File类下的 RandomAccessfile,欢迎留言讨论,其他知识看api package org.mark.randomaccessfile; import java.io.File; import java.io.RandomAccessFile; /** * 写入操作 */ public class RandomAccessfileDemo1 { /** * @param args */ public static void main(String[] arg

File类的基本操作之RandomAccessFile读取

直接贴代码了,不懂的地方留言讨论 package org.mark.randomaccessfile; import java.io.File; import java.io.FileNotFoundException; import java.io.RandomAccessFile; public class RandomAccessfileDemo2 { /** * @param args * @throws Exception */ public static void main(Stri

[Java开发之路](7)RandomAccessFile类详解

RandomAccessFile适用于大小已知的记录组成的文件,提供的对文件访问,既可以读文件,也可以写文件,并且支持随机访问文件,可以访问文件的任意位置.文件中记录的大小不一定都相同,只要我们知道记录的大小和位置.但是该类仅限于操作文件. RandomAccessFile不属于InputStream和OutputStream继承层次结构中的一部分.除了实现DataInput和DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和

[Java IO]01_File类和RandomAccessFile类

File类 File类是java.io包中唯一对文件本身进行操作的类.它可以进行创建.删除文件等操作. File类常用操作 (1)创建文件 可以使用 createNewFille() 创建一个新文件. 注意: Windows 中使用反斜杠表示目录的分隔符"\". Linux 中使用正斜杠表示目录的分隔符"/". 最好的做法是使用 File.separator 静态常量,可以根据所在操作系统选取对应的分隔符. (2)删除文件 可以使用 delete() 删除一个文件.

【Java IO流】RandomAccessFile类的使用

RandomAccessFile类的使用 RandomAccessFile类是java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. RandomAccessFile类实现步骤 (1)文件模型 第一步要知道,在硬盘上的文件时是以byte byte byte存储的,是数据的集合. (2)打开文件 打开文件硬盘上的文件有两种模式:“rw”(读写),“r”(只读).可以用RandomAccessFile类来指定打开文件的模式,如: RandomAcce

利用RandomAccessFile类在指定文件指定位置插入内容

package File; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; /*利用RandomAccessFile类在指定文件指定位置插入内容.*/ public class InsertContent { public static void ins

Java学习记录(补充八:Date类;Java流(Stream),文件(File)和IO)

Date类,Calendar类package Box1; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Random; //Date类 public class DateTest { public static void main(String[] args) { Date