import java.io.*;
public class RandomFileTest
{
public static void main(String [] args) throws Exception
{
Employee e1 = new Employee("zhangsan",23);
Employee e2 = new Employee("Lisi",24);
Employee e3 = new Employee("Wangwu",25);
RandomAccessFile ra=new RandomAccessFile("c:\\1.txt","rw");
ra.write(e1.name.getBytes());
ra.writeInt(e1.age);
ra.write(e2.name.getBytes());
ra.writeInt(e2.age);
ra.write(e3.name.getBytes());
ra.writeInt(e3.age);
ra.close();
RandomAccessFile raf=new RandomAccessFile("c:\\1.txt","r");
int len=8;
raf.skipBytes(12); //跳过第一个员工的信息,其中姓名8字节,年龄4字节
System.out.println("第二个员工信息:");
String str="";
for(int i=0;i<len;i++)
str=str+(char)raf.readByte();
System.out.println("name:"+str);
System.out.println("age:"+raf.readInt());
System.out.println("第一个员工的信息:");
raf.seek(0); //将文件指针移动到文件开始位置
str="";
for(int i=0;i<len;i++)
str=str+(char)raf.readByte();
System.out.println("name:"+str);
System.out.println("age:"+raf.readInt());
System.out.println("第三个员工的信息:");
raf.skipBytes(12); //跳过第二个员工信息
str="";
for(int i=0;i<len;i++)
str=str+(char)raf.readByte();
System.out.println("name:"+str.trim());
System.out.println("age:"+raf.readInt());
raf.close();
}
}
class Employee
{
String name;
int age;
final static int LEN=8;
public Employee(String name,int age)
{
if(name.length()>LEN)
{
name = name.substring(0,8);
}
else
{
while(name.length()<LEN)
name=name+"\u0000";
}
this.name=name;
this.age=age;
}
}
附注:writeInt()写入txt后打开txt无法直接看到数字。但是可以用RandomAccessFile正常读取出来。http://wenku.baidu.com/view/2205cb1efad6195f312ba6f3.html
分享到:
相关推荐
RandomAccessFile类的实例详解中,主要介绍了RandomAccessFile类的使用方法和相关技术细节。 在Java中,IO流 RandomAccessFile类实例详解主要包括以下几个方面: 1. 文件模型:在Java中,文件模型是将文件视为byte...
RandomAccessFile处理文件的案例
1. 创建`RandomAccessFile`实例,以读写模式打开文件`F:\\rain.txt`。 2. 获取文件长度,并根据长度创建一个`ByteBuffer`。 3. 通过`RandomAccessFile`的`getChannel()`方法获取文件通道,并通过该通道读取数据到`...
RandomAccessFile随机文本,使用多线程处理复制文件
在使用RandomAccessFile时,首先需要创建一个File对象,然后通过File对象和指定的模式创建RandomAccessFile实例。例如: ```java File f = new File("path/to/file"); RandomAccessFile raf = new RandomAccessFile...
因为使用其他文件流修改文件时是整体的替换,导致SVN上传上去后是整个文件都修改了,所以需要增量修改,这个demo是使用RandomAccessFile增量修改,只修改指定的行,很实用
使用`RandomAccessFile`的第一步是创建一个实例,通常需要提供文件路径和访问模式。访问模式可以是"r"(只读)或"rw"(读写)。例如: ```java RandomAccessFile file = new RandomAccessFile("path_to_file", ...
在实际应用中,我们还需要注意文件的关闭操作,确保使用完`RandomAccessFile`后调用`close()`方法,以释放系统资源并防止数据丢失。 `Raf.txt`可能是示例代码或关于`RandomAccessFile`使用的说明文本。在阅读这个...
给定的示例代码展示了如何使用 `RandomAccessFile` 来写入和读取包含中文字符的对象到文件中,并尝试解决乱码问题。下面将详细分析这段代码: 1. **创建文件对象**: ```java File f = new File("k:\\c.txt"); `...
### RandomAccessFile 随机访问文件的使用体会 #### 一、RandomAccessFile简介 `RandomAccessFile`是Java中的一个类,位于`java.io`包中,它提供了对文件进行读写的能力,并且可以随机地定位到文件中的任何位置...
在使用`RandomAccessFile`向文件写入中文时,可能会遇到乱码问题。这是因为Java内部使用Unicode编码,而文件系统通常使用其他编码格式(如GBK)。因此,在进行写入操作时,需要确保正确的编码转换。 #### 三、写入...
在本示例中,提供的压缩包可能包含一个`java`源代码文件,演示了如何使用`RandomAccessFile`进行文件读写操作,以及一个编译后的`class`文件,这是运行Java程序的字节码文件。通过查看源代码,我们可以学习到`...
6. 使用RandomAccessFile实例的seek()方法定位到指定位置。 7. 创建一个缓冲区数组buff用于读写数据,定义变量hasRead作为实际读取到的字节数。 8. 使用while循环从原文件当前位置读取数据到buff中,并通过...
使用`RandomAccessFile`,我们可以通过`seek()`方法定位到文件的任意位置,然后通过`read()`或`write()`方法进行数据操作。例如,读取当前位置的一个字节: ```java raf.seek(10); // 移动到文件的第10个字节 int ...
RandomAccessFile(下).mp4
NIO_RandomAccessFile_多线程读本地CSV文件(java==> google guava包ListenableFuture) reader里有个main函数,更改文件路径后,直接运行即可
Java 使用 RandomAccessFile 类基于指针读写文件实例代码 Java 中的 RandomAccessFile 类是一种基于指针操作的文件读写方式,能够实现对文件的随机访问。该类不同于其他许多基于流方式读写文件的类,它直接继承自 ...
文件操作——File 、 RandomAccessFile(上).mp4
文件操作——File 、 RandomAccessFile(上).mp4