当前位置:首页 > 操作系统 > MacOs

Java 核心编程——文件随机读写类(RandomAccessFile)

  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)!

相关教程推荐

其他课程推荐