Java文件与io——RandomAccessFile
RandomAccessFile是IO包的类,从Object直接继承而来。只可以对文件进行操作,可以对文件进行读取和写入。RandomAccessFile有强大的文件读写功能,其内部是大型byte[],可以通过seek(),getFilePointer()等方法操作的指针,方便对数据进行写入与读取,还可以对基本数据类型进行直接的读和写操作。
RandomAccessFile的绝大多数功能,已经被JDK1.4的nio的"内存映射文件"给取代了。
public class RandomAccessFileDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
try {
File file=new File("c:\\qqq.txt");
RandomAccessFile raf=new RandomAccessFile(file,"rw");
raf.writeInt(63);
raf.writeUTF("刘备");
raf.writeBoolean(false);
raf.writeChar('男');
raf.seek(0);//定位到文件开始的位置
int age=raf.readInt();
String name=raf.readUTF();
raf.skipBytes(1);//跳过一个字节
char sex=raf.readChar();
System.out.println("年龄"+age+",名字"+name+",性别"+sex);
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
Java文件与io——RandomAccessFile的更多相关文章
- Java文件与io——NewIO
为啥要使用NIO? NIO的创建目的是为了让JAVA程序员可以实现高速I/O而无需编写自定义的本机代码.NIO将最耗时的I/O操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度 流与快的 ...
- Java文件与io——打印流和对象流
打印流的主要功能是用于输出,在整个IO包中打印流分为两种类型: 字节打印流:PrintStream 字符打印流:PrintWriter 打印流可以很方便的进行输出 public class Print ...
- Java文件与io——复制文件和转换流
字节流与字符流的区别 在所有的流操作里,字节永远是最基础的.任何基于字节的操作都是正确的.无论是文本文件还是二进制的文件. 如果确认流里面只有可打印的字符,包括英文的和各种国家的文字,也包括中文,那么 ...
- Java文件与io——常见字符编码
在计算机世界里,任何的文字都是以指定的编码方式存在的. 常见编码有:ISO8859-1.GBK/GB2312.unicode.UTF ISO8859-1:编码属于单字节编码,最多只能表示0-255的字 ...
- Java文件与io——装饰者模式
意图: 动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比于生成子类更为灵活.该模式以对客户端透明的方式扩展对象的功能. 适用环境 在不影响其他对象的情况下,以动态.透明的 ...
- Java文件与io——字节数组流数据流字符串流
字节数组流 ByteArrayInputStream:包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪read方法要提供的下一个字节.关闭ByteArrayInputStream无效. ...
- Java文件与io——缓冲流
对文件或其它目标频繁的读写操作,效率低,性能差. 使用缓冲流的好处,能够更高效的读写信息,原理是将数据先缓冲起来,然后一起写入或者读取出来. BufferedInputStream:为另一个输入流添加 ...
- Java文件与io——字符流
Writer写入字符流的抽象类.对文件的操作使用:FileWriter类完成 Reader读取字符的抽象类. public class CharDemo { /** * @param args */ ...
- Java文件与io——字节流
FileOutputStream用于写入诸如图像数据之类的原始字节的流 字节输出流:OutputStream 此抽象类表示输出字节流的所有类的超类.(写) 字节输入流:InputStream(读) p ...
随机推荐
- 一个有关Golang变量作用域的坑
转自:http://tonybai.com/2015/01/13/a-hole-about-variable-scope-in-golang/ 临近下班前编写和调试一段Golang代码,但运行结果始终 ...
- numpy.ones_like(a, dtype=None, order='K', subok=True)返回和原矩阵一样形状的1矩阵
Return an array of ones with the same shape and type as a given array. Parameters: a : array_like Th ...
- linux命令-bzip2压缩
gzip和bzip2 都是压缩命令 区别是压缩算法不一样 一般bzip2压缩的效率高 都不能压缩目录 bzip2 压缩 [root@wangshaojun ~]# bzip2 install.l ...
- HTML5 中文乱码
<meta charste="utf-8"> 只是告诉浏览器要用utf-8来解释,而文档的编码,是在你保存时的选择决定的.如果保存ANSI 然后用utf-8解释,肯定是 ...
- 13、ubuntu终端快捷键(参考 dy9776)
1.终端的快捷键 Tab 自动补全 Ctrl+a 光标移动到开始位置 Ctrl+e 光标移动到最末尾 Ctrl+l 相当于clear,即清屏 Ctrl+Z 把当前任务放到后台运行(相当于运行命令时后面 ...
- Entity Framework Code-First(9):DataAnnotations
DataAnnotations in Code-First: EF Code-First provides a set of DataAnnotation attributes, which you ...
- 6.5 系统打开缓慢,怎么办?---更新Ubuntu系统
早早的来公司打开电脑,希望看到Ubuntu能启动成功.可是,当我重启后,使用Ubuntu系统,打开界面速度非常慢,当时,又怀疑自己安装出错了.而且,6.2日Ubuntu系统的工作日志又没了.无奈,我把 ...
- c++中的const关键字的理解
看effective c++第二版推荐使用const,少用define.今天才发现发现这远远不够. #define定义的常量在预处理替换,debug的时候无法打印宏的,这种常量设置是有缺陷的, con ...
- hdu1083
#include"stdio.h" #include"string.h" #define N 305 int mark[N],link[N],map[N][N] ...
- PHP中空字符串、0、null、empty和false之间的关系
原文来自:http://www.seayee.net/article/info_115.html