RandomAccessFile主要用于文件内容的读写访问
2.访问模式
“r”:只读方式。
“rw”:打开以便读取和访问,如果文件不存在则创建文件。
“rws”: 除了‘rw‘功能以外,文件内容或者元数据更新时一同写入。
“rwd”:除了‘rw‘功能以外,文件内容更新时一同写入。
3.使用案例
<span style="color: #0000ff">package</span><span style="color: #000000"> test;
</span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.File;
</span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.FileNotFoundException;
</span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.IOException;
</span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.RandomAccessFile;
</span><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span><span style="color: #000000"> RandomAccess {
</span><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">void</span><span style="color: #000000"> main(String[] args) {
</span><span style="color: #0000ff">try</span><span style="color: #000000"> {
File file </span>= <span style="color: #0000ff">new</span> File("C:img666.txt"<span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000">打开文件</span>
RandomAccessFile randomAccess = <span style="color: #0000ff">new</span> RandomAccessFile(file,"rwd"); <span style="color: #008000">//</span><span style="color: #008000">访问文件 </span>
Long lenth = randomAccess.length(); <span style="color: #008000">//</span><span style="color: #008000">获取文件长度</span>
System.out.println("lenth:"+<span style="color: #000000">lenth);
randomAccess.seek(</span>4); <span style="color: #008000">//</span><span style="color: #008000">设置指针位置
</span><span style="color: #008000">//</span><span style="color: #008000">读取文件</span>
<span style="color: #0000ff">int</span> c = randomAccess.read(); <span style="color: #008000">//</span><span style="color: #008000">读取一个字节</span>
System.out.println("c:"+<span style="color: #000000">c);
System.out.println(</span>"c:"+(<span style="color: #0000ff">char</span>)c); <span style="color: #008000">//</span><span style="color: #008000">转换为字符</span>
<span style="color: #0000ff">byte</span>[] b = <span style="color: #0000ff">new</span> <span style="color: #0000ff">byte</span>[3]; <span style="color: #008000">//</span><span style="color: #008000">读取字节数字,创建数组</span>
randomAccess.read(b, 1, 2); <span style="color: #008000">//</span><span style="color: #008000">从指针1处读取两个字节写入数组b中</span>
String s = <span style="color: #0000ff">new</span> String(b); <span style="color: #008000">//</span><span style="color: #008000">转换为字符串</span>
System.out.println("byte:"+s); <span style="color: #008000">//</span><span style="color: #008000">输出
</span><span style="color: #008000">//</span><span style="color: #008000">写入文件</span>
File file2 = <span style="color: #0000ff">new</span> File("C:img777.txt"<span style="color: #000000">);
</span><span style="color: #0000ff">if</span>(!<span style="color: #000000">file2.getParentFile().exists()){
file2.getParentFile().mkdirs();
}
file2.createNewFile();
RandomAccessFile randomAccess2 </span>= <span style="color: #0000ff">new</span> RandomAccessFile(file2,"rwd"); <span style="color: #008000">//</span><span style="color: #008000">访问文件 </span>
randomAccess2.write(b); <span style="color: #008000">//</span><span style="color: #008000">写入字符数组
</span><span style="color: #008000">//</span><span style="color: #008000">关闭文件</span>
<span style="color: #000000"> randomAccess.close();
randomAccess2.close();
} </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (FileNotFoundException e) {
</span><span style="color: #008000">//</span><span style="color: #008000"> TODO Auto-generated catch block</span>
<span style="color: #000000"> e.printStackTrace();
} </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (IOException e) {
</span><span style="color: #008000">//</span><span style="color: #008000"> TODO Auto-generated catch block</span>
<span style="color: #000000"> e.printStackTrace();
}
}
}</span>
Java 核心编程——文件随机读写类(RandomAccessFile)
标签:打开 核心编程 内容 catch create and auto long 创建文件
本文系统来源:http://www.cnblogs.com/wwyx-xi/p/7424660.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!