10.RandomAccessFile

发表日期:2022-08-05 16:09:05 | 来源: | | 浏览(626) 分类:JAVA基础

RandomAccessFile

package File;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.RandomAccessFile;

public class RandomAccessFileDemo {

    /**
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        File file = new File("D:" + File.separator + "RandomAccessFile.txt");
        //两种写法均可
        //RandomAccessFile rFile = new RandomAccessFile("D:"+File.separator+"test.txt", "rw");
        RandomAccessFile rFile = new RandomAccessFile(file, "rw");
        String string = "abcdefg我去这是什么情况?";
        ;

        rFile.write(string.getBytes());//写入中文会乱码
        rFile.close();

        write();
        read();
    }

    private static void read() {
        // TODO Auto-generated method stub

        File file = new File("d:" + File.separator + "123.txt");

        RandomAccessFile rFile = null;
        try {
            rFile = new RandomAccessFile(file, "r");

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        try {
            byte c[] = new byte[(int) rFile.length()];
            rFile.read(c);
            System.out.println(new String(c));

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void write() {

        File file = new File("d:" + File.separator + "123.txt");

        RandomAccessFile rFile = null;
        try {
            rFile = new RandomAccessFile(file, "rw");
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


        String name = "zhangsan";
        int age = 30;
        try {
            rFile.writeInt(age);
//       rFile.writeBytes(name);
            rFile.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}


集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。