java入门教程-8.7Java中文件的随机读写
来源:互联网 发布:札幌住宿 知乎 编辑:程序博客网 时间:2024/06/06 05:42
Java.io 包提供了 RandomAccessFile 类用于随机文件的创建和访问。使用这个类,可以跳转到文件的任意位置读写数据。程序可以在随机文件中插入数据,而不会破坏该文件的其他数据。此外,程序也可以更新或删除先前存储的数据,而不用重写整个文件。
RandomAccessFile类是Object类的直接子类,包含两个主要的构造方法用来创 建RandomAccessFile 的对象,如表 10-11 所示。
表 10-11 RandomAccessFile 类的构造方法 构造方法 功能描述 public RandomAccessFile(String name, String mode)指定随机文件流对象所对应的文件名,以 mode 表示对文件的访问模式public RandomAccessFile (File file, String mode)以 file 指定随机文件流对象所对应的文件名,以 mode 表示访问模式
需要注意的是,mode 表示所创建的随机读写文件的操作状态,其取值包括:
表 10-12 列出了 RandowAccessFile 类常用的方法及说明。
表 10-12 RandowAccessFile 的常用方法 方法 功能描述 long length()返回文件长度void seek(long pos)移动文件位置指示器,pos 指定从文件开头的偏离字节数int skipBytes(int n)跳过 n 个字节,返回数为实际跳过的字节数int read()从文件中读取一个字节,字节的高 24 位为 0,若遇到文件结尾,返回-1final byte readByte()从文件中读取带符号的字节值final char readChar()从文件中读取一个 Unicode 字符final void writeChar(inte c)写入一个字符,两个字节
【例 10-12】模仿系统日志,将数据写入到文件尾部。
//********** ep10_12.java **********
import java.io.*;
class ep10_12{
public static void main(String args[]) throws IOException{
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String s=in.readLine();
RandomAccessFile myFile=new RandomAccessFile("ep10_12.log","rw");
myFile.seek(myFile.length()); //移动到文件结尾
myFile.writeBytes(s+"\n"); //写入数据
myFile.close();
}
catch(IOException e){}
}
}
程序运行后在目录中建立一个 ep10_12.log 的文件,每次运行时输入的内容都会在该文件内容的结尾处添加。
RandomAccessFile类是Object类的直接子类,包含两个主要的构造方法用来创 建RandomAccessFile 的对象,如表 10-11 所示。
需要注意的是,mode 表示所创建的随机读写文件的操作状态,其取值包括:
- r:表示以只读方式打开文件。
- rw:表示以读写方式打开文件,使用该模式只用一个对象即可同时实现读写操作。
表 10-12 列出了 RandowAccessFile 类常用的方法及说明。
【例 10-12】模仿系统日志,将数据写入到文件尾部。
//********** ep10_12.java **********
import java.io.*;
class ep10_12{
public static void main(String args[]) throws IOException{
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String s=in.readLine();
RandomAccessFile myFile=new RandomAccessFile("ep10_12.log","rw");
myFile.seek(myFile.length()); //移动到文件结尾
myFile.writeBytes(s+"\n"); //写入数据
myFile.close();
}
catch(IOException e){}
}
}
程序运行后在目录中建立一个 ep10_12.log 的文件,每次运行时输入的内容都会在该文件内容的结尾处添加。
0 0
- java入门教程-8.7Java中文件的随机读写
- Java中文件的随机读写
- Java中文件的读写
- Java中文件的读写
- Java中文件读写
- java中文件读写
- Java中文件读写
- JAVA中文件的读写处理
- Java中文件的读写操作
- Hadoop中文件读写(Java)
- Hadoop中文件读写(Java)
- java入门教程-8.8Java中文件的压缩处理
- java中文件的读写操作工具类的实现
- Java中文件的读写及流向字符串的转化
- 黑马程序员——java中文件的读写
- JAVA中文件读写操作大全
- Hadoop中文件读写(Java) <转>
- Java 文件的随机读写
- tomcat的server.xml详解
- java入门教程-8.6Java中文件与目录管理
- Windows学习总结(4)——Host文件的作用和如何修改Host文件
- oracle 释放无用连接
- 架构沉思
- java入门教程-8.7Java中文件的随机读写
- mysql flush logs时出现ERROR 1105
- vscode - hide menu bar - Alt Key
- GitHub for Windows安装失败解决方法
- CStatic
- opencv-ios开发笔记5 利用二值图像简单提取轮廓
- 显性形状回归法人脸对齐Face Alignment by Explicit Shape Regression(improving)
- 高德地图全解析--定位篇
- static静态变量(静态全局和静态局部)