`

黑马程序员24-3: RandomAccessFile随机存取文件

 
阅读更多
------- android培训 java培训、期待与您交流!-------


package cn.itcast.io.p3.randomfile;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class RandomAccessFileDemo {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {

		/*
		 * RandomAccessFile
		 * 一看这个类名字,纠结。不是io体系中的子类。
		 * 
		 * 特点:
		 * 1,该对象即能读,又能写。
		 * 2,该对象内部维护了一个byte数组,并通过指针可以操作数组中的元素,
		 * 3,可以通过getFilePointer方法获取指针的位置,和通过seek方法设置指针的位置。
		 * 4,其实该对象就是将字节输入流和输出流进行了封装。 
		 * 5,该对象的源或者目的只能是文件。通过构造函数就可以看出。 
		 * 
		 * 
		 */
		
//		writeFile();
//		readFile();
		randomWrite();
	}
	
	public static void randomWrite() throws IOException{
		RandomAccessFile raf = new RandomAccessFile("ranacc.txt", "rw");
		
		//往指定位置写入数据。
		raf.seek(3*8);
		
		raf.write("哈哈".getBytes());
		raf.writeInt(108);
		
		raf.close();
	}
	
	
	public static void readFile() throws IOException {
		
		RandomAccessFile raf = new RandomAccessFile("ranacc.txt", "r");
		
		//通过seek设置指针的位置。
		raf.seek(1*8);//随机的读取。只要指定指针的位置即可。 
		
		byte[] buf = new byte[4];
		raf.read(buf);
		
		String name = new String(buf);
		
		int age = raf.readInt();
		
		System.out.println("name="+name);
		System.out.println("age="+age);
		
		System.out.println("pos:"+raf.getFilePointer());
		
		raf.close();
		
		
	}

	//使用RandomAccessFile对象写入一些人员信息,比如姓名和年龄。
	public static void writeFile() throws IOException{
		/*
		 * 如果文件不存在,则创建,如果文件存在,不创建
		 * 
		 */
		RandomAccessFile raf = new RandomAccessFile("ranacc.txt","rw");
		
		raf.write("张三".getBytes());
		raf.writeInt(97);
		raf.write("小强".getBytes());
		raf.writeInt(99);
//		
		raf.close();
	}

}




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


详细请查看:http://edu.csdn.net/heima -------

分享到:
评论

相关推荐

    【IT十八掌徐培成】Java基础第16天-01.RandomAccessFile.zip

    本教程聚焦于Java中的`RandomAccessFile`类,这是Java I/O流体系中的一个重要部分,用于处理可以随机读写的数据文件。在Java基础学习的第16天,我们将深入探讨这个主题。 `RandomAccessFile`类在`java.io`包下,它...

    花1K内存实现高效I-O的RandomAccessFile类

    花1K内存实现高效I-O的RandomAccessFile类 自己搜搜这个关键字. 我主要是用来优化Android上多线程断点下载的写文件效率 RandomAccessFile是操作硬盘的,比操作内存的数据慢了几百万倍, 所有有人做出优化,我特上传...

    commons-io-2.8.0-bin.zip

    10. **RandomAccessFileUtils**: 提供了RandomAccessFile的便捷操作,支持读写操作,特别适合处理二进制文件。 Apache Commons IO库不仅提供了基本的IO操作,还包含了一些高级特性,如缓冲、过滤、转换和检查。这些...

    Android ftp文件分割上传,并且实现合并

    对于大文件的分割,可以使用Java的`FileInputStream`和`FileOutputStream`读写文件,并配合`RandomAccessFile`来分割文件。例如,可以将大文件按固定大小的块拆分为多个小文件,每个小文件都可以独立上传。 在上传...

    Java软件开发实战 Java基础与案例开发详解 13-10 随机存取文件流 共8页.pdf

    **RandomAccessFile** 是一种特殊的文件流类,它支持在文件的任意位置进行读写操作,因此被称为随机存取文件流。这种特性使得 **RandomAccessFile** 在处理大量数据时非常灵活,尤其是在需要频繁跳转到文件的不同...

    random-access-file:使用随机偏移量和长度连续读取或写入文件

    随机访问文件 使用随机偏移量和长度连续读取或写入文件 npm install random-access-file 为什么? 如果要在分布式系统中接收多个文件,则将这些文件逐个写入磁盘的各个位置会很有用,而不必始终打开和关闭文件描述...

    scjp test 1

    `RandomAccessFile`支持随机访问文件。 3. 创建名为`File`的实例时,仅当调用`close`方法时才会在操作系统中创建对应的文件。 - 解析:不正确。创建`File`实例不会立即创建文件;实际文件的创建通常通过`...

    java简析stdf文件

    ### Java简析STDF文件 #### 引言与背景 随着半导体行业的快速发展,测试数据的标准化变得尤为重要。在这一背景下,STDF(Standard Test Data Format)作为一种被广泛接受的标准格式应运而生。它旨在提高不同制造商...

    JAVA随机存储流(RandomAccessFile)的应用

    Java中的`RandomAccessFile`是一个非常重要的类,它允许我们以随机访问模式读写文件,这意味着我们可以自由地在文件的任何位置进行读写操作,而不仅仅是顺序地从头到尾处理文件。这个类提供了对文件内容进行高效定位...

    Java随机存取文件.pdf

    Java中的`RandomAccessFile`类提供了一种高级的文件操作方式,它允许程序对文件进行随机的读写操作,而不仅仅局限于从文件头开始的顺序读写。这对于处理大型文件或需要在文件的任意位置进行修改的应用场景非常有用。...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--文件之随机存储RandomAccessFile |--文件使用时间排序 |--文件复制粘贴 |--文件路径之通过uri获取 |--时间java常用应用 |--时间之handle记时器 |--时间之time的用法得到特定时间的long值 |--时间之之定时任务...

    RandomAccessFile随机文本,使用多线程处理

    RandomAccessFile随机文本,使用多线程处理复制文件

    2021-2022计算机二级等级考试试题及答案No.19591.docx

    - **执行情况**: 由于每次运行程序都会追加内容到文件末尾,因此连续运行三次后,文件内容将是"ABCDEABCDEABCDE"。 **正确答案解析:** 正确答案为D,即文件内容为"ABCDEABCDEABCDE"。 #### 11. 文件对话框 **...

    607.605.JAVA基础教程_IO流与网络编程-复习:IO流概述(607).rar

    RandomAccessFile允许对文件进行随机访问,不仅可读,也可写。 8. 滤流器流:FilterInputStream和FilterOutputStream是所有包装流的基类,如DataInputStream和DataOutputStream可以添加额外的功能,如读写基本数据...

    Java试题1及答案

    - D: 使用 `RandomAccessFile` 类型的 `skip` 方法不存在 — 错误。 - **正确答案**:A **7. 布局管理器中的组件大小不变** - **选项分析**: - `FlowLayout` 布局管理器中的组件大小不随容器大小变化而改变 — ...

    RandomAccessFile向文件中写入中文

    `RandomAccessFile`类提供了对文件进行随机访问的能力,它支持读取和写入数据。与`FileInputStream`和`FileOutputStream`等流相比,`RandomAccessFile`提供了一个更灵活的方法来处理文件,因为它允许直接定位到文件...

    Java实现文件的断点续传(HTTP)

    这里推荐使用`RandomAccessFile`类来进行操作,它提供了随机访问文件的能力。 假设文件已经下载到了2000070字节的位置,现在需要将剩下的部分写入文件。可以这样做: ```java RandomAccessFile raf = new ...

    dnzyz.rar_RandomAccessFile_java 文件管理_文件操作

    在实际项目中,`RandomAccessFile`常用于处理日志文件、数据库文件或其他需要随机存取的二进制文件。在提供的压缩包文件中,`www.pudn.com.txt`和`dictionary`可能是用于示例或练习的文件,通过它们可以进一步了解`...

    java面试题

    - 文件操作:学习如何读写文件,了解File类和RandomAccessFile。 - 字节流与字符流:理解InputStream、OutputStream、Reader、Writer的区别和用法。 - 缓冲流:使用BufferedInputStream、BufferedOutputStream、...

Global site tag (gtag.js) - Google Analytics