Java温故而知新-RandomAccessFile
发布日期:2021-05-08 10:46:30 浏览次数:29 分类:精选文章

本文共 2427 字,大约阅读时间需要 8 分钟。

文件组成

在这里插入图片描述

在这里插入图片描述

RandomAccessFile常用方法

在这里插入图片描述

在这里插入图片描述

范例:实现随机写入

package com.itkey.javareview.温故知新.io;import lombok.SneakyThrows;import java.io.File;import java.io.RandomAccessFile;import java.nio.charset.StandardCharsets;public class RandomAccessFileDemo {       public static final int MAX_LENGTH =8;    @SneakyThrows    public static void main(String[] args) {           File file = new File("/Users/itkey/Documents/GitHub/java-review/src/main/java/com/itkey/javareview/温故知新/io" + File.separator + "yootk.data");        if(!file.getParentFile().exists()){               file.getParentFile().mkdirs();        }        RandomAccessFile raf = new RandomAccessFile(file,"rw");        String names[] = new String[] {   "zhangsan","lisi","wangwu","zhaoliu","sunqi"};        int ages[] = new int[] {   12,13,17,16,15};        int i = 0;        for (String name : names) {               name =  addSpace(name);            raf.write(name.getBytes(StandardCharsets.UTF_8));            raf.writeInt(ages[i]);            i++;        }        raf.close();    }    /**     * 字符过短,补空格     * @param str     * @return     */    public static String addSpace(String str){           StringBuffer stringBuffer = new StringBuffer(str);        while (stringBuffer.length()

读取二进制的随机文件

在这里插入图片描述

package com.itkey.javareview.温故知新.io;import lombok.SneakyThrows;import java.io.File;import java.io.RandomAccessFile;import java.nio.charset.StandardCharsets;public class RandomAccessFile生成二进制文件 {       public static final int MAX_LENGTH =8;    @SneakyThrows    public static void main(String[] args) {           File file = new File("/Users/itkey/Documents/GitHub/java-review/src/main/java/com/itkey/javareview/温故知新/io" + File.separator + "yootk.data");        if(!file.getParentFile().exists()){               file.getParentFile().mkdirs();        }        RandomAccessFile raf = new RandomAccessFile(file,"rw");        String names[] = new String[] {   "zhangsan","lisi","wangwu","zhaoliu","sunqi"};        int ages[] = new int[] {   12,13,17,16,15};        int i = 0;        for (String name : names) {               name =  addSpace(name);            raf.write(name.getBytes(StandardCharsets.UTF_8));            raf.writeInt(ages[i]);            i++;        }        raf.close();    }    /**     * 字符过短,补空格     * @param str     * @return     */    public static String addSpace(String str){           StringBuffer stringBuffer = new StringBuffer(str);        while (stringBuffer.length()

在这里插入图片描述

上一篇:Java温故而知新-打印流
下一篇:Java温故而知新-管道流

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月15日 10时27分54秒