Java篇:RandomAccessFile

 1 package ares.io;
 2
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.io.RandomAccessFile;
 6 import java.util.Arrays;
 7
 8 //Java文件模型操作
 9 public class RafSample {
10
11     public static void main(String[] args) throws IOException {
12         // TODO Auto-generated method stub
13         File file = new File("rafs");
14         if (!file.exists()) {
15             file.mkdir();
16         }
17         File raf = new File(file, "raf.bat");
18         if (!raf.exists()) {
19             raf.createNewFile();
20         }
21         RandomAccessFile randomAccessFile = new RandomAccessFile(raf, "rw");
22         randomAccessFile.write(‘a‘);//只写一个字节(后八位),指针指向下一个位置
23         System.out.println(randomAccessFile.getFilePointer());//指针的位置
24         int number=0x7fffffff;
25         randomAccessFile.writeInt(number);
26         System.out.println(randomAccessFile.getFilePointer());
27         randomAccessFile.seek(0);//读取文件,将指针移到头部
28         byte[] bytes=new byte[(int)randomAccessFile.length()];
29         randomAccessFile.read(bytes);
30         System.out.println(Arrays.toString(bytes));
31         randomAccessFile.close();
32     }
33 }
时间: 2024-08-08 13:57:40

Java篇:RandomAccessFile的相关文章

Java IO RandomAccessFile 任意位置读/写

随机读写类 RandomAccessFile的唯一父类是Object,与其他流父类不同.是用来访问那些保存数据记录的文件的,这样你就可以用seek( )方法来访问记录,并进行读写了.这些记录的大小不必相同:但是其大小和位置必须是可知的. RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和这两个类系

[转]有哪些值得关注的技术博客(Java篇)

有哪些值得关注的技术博客(Java篇) 大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些博客的特点: 1.总结知识点相对比较全面 2.一般来说讲解知识点通俗易懂 3.路线比较清晰,不会有太多的冗余内容. 这样一来,对于自学的朋友来说,一些专业的博客不但大量的缩减了你得学习时间.提高了学习效率.更重要的是这些博客能培养你对编程的兴趣. 于是,这几期文章会主要推荐一些技术博客,目前计划打算主要分为: (已完) 

关于多线程的几个问题(面试小问题,Java篇)

面试官想考考我多线程方面的问题. 1.请说下线程与进程的关系. 答:<操作系统>中是这样说的 (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程.线程是操作系统可识别的最小执行和调度单位. (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源.同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储).但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量. (3)处理机分给线程,即真正在处理机上运行的是线

关于一些设计模式(面试小问题,Java篇)

今天在某公司(不透露了)写了一套Java面试题.有个题大概是这样的. Which design pattern used in Java.lang.Runtime? 就是说java.lang.Runtime里,用了什么设计模式 还有java.utils.collection里用了什么设计模式. 当时由于对这冷门知识了解的不够多,而且api也读的少,所以一时答不上来. 回到家搜了下. 答: Runtiome里 单例模式. 1)  每一个Java程序都有一个Runtime类的单一实例. 2)  通过

Java.io.RandomAccessFile

RandomAccessFile Java提供的对文件内容的访问,既可以读文件,也可以写文件.支持随机访问文件,可以访问文件的任意位置. 1)Java文件模型 在硬盘上的文件是byte byte byte存储的,是数据的集合. 2)打开文件 有两种模式 rw 读写  r 只读. RandomAccessFile randomAccessFile=new RandomAccessFile(file, "rw"); 文件指针,打开文件时指针在开头 pointer=0. 3)写方法 rand

优秀的编程风格(Java篇)——高薪必看

今天突发奇想,对编码习惯和编程风格很感兴趣,于是乎,找了一下关于编程风格(Java篇)的资料,希望对爱好编码或者开始学习编码的同学有帮助! 来自<The Elements of Java Style>-<Java编程风格>一书,值得一读的书籍,会让你在细节上节省很多时间,合作之间更加愉快! 好处不多说了,但是有几个原则如下: 1.保持原有风格 2.坚持最小惊奇原则 3.第一次就做对 4.记录所有非规范行为 格式规范: 1.缩进嵌套的代码:在每个代码块和嵌套中加入缩进,缩进代码,加强

事件驱动模型实例详解(Java篇)

或许每个软件从业者都有从学习控制台应用程序到学习可视化编程的转变过程,控制台应用程序的优点在于可以方便的练习某个语言的语法和开发习惯(如.net和java),而可视化编程的学习又可以非常方便开发出各类人机对话界面(HMI).可视化编程或许是一个初学者开始对软件感兴趣的开始,也可能是一个软件学习的里程碑点,因为我们可以使用各类软件集成开发环境(IDE)方便的在现成的界面窗口上拖放各类组件(Component),这类组件包括我们常见的按钮(Button),单选按钮(Radio Button),复选框

总结一下阿里云OSS的开发坑(Java篇)

一.序言 OSS(Object Storage Service)是阿里云提供的一款云存储服务,具有海量.安全.低成本.高可靠的特点. 由于客户选择了OSS,我们作为开发方也开始接触它.在实际开发过程中遇到了各种各样的坑,经自己多次实践及阿里技术人员的协助,终得以完成任务. 阿里方面为OSS提供了多种语言的开发接口,我们用到了其中两种:Java和C/C++.本文为Java篇,C/C++的将在另一篇给出. 二.OSS的一些概念 EndPoint, accessKeyID, accessKeySecr

Java的RandomAccessFile对文件内容进行读写

 RandomAccessFile是Java提供的对文件内容的访问,她既可以读文件,也可以写文件,并且RandomAccessFile支持随机访问文件,也就是说他可以指定位置进行访问.   我们知道Java的文件模型,文件硬盘上的文件是byte byte byte的字节进行存储的,是数据的集合.下面就是用这个类的步骤. (1)打开指定的文件,有两种模式“rw”(读写) “r”(只读),创建对象,并且指定file和模式,例如:       RandomAccessFile ac=new Rando