File

java i/o 输入输出流

一:编码问题

1.gbk: 中文占2个字节,英文一个字节

2.utf-8: 中文占3个字节,英文一个字节

3.utf-16be: 中文占1个字节,英文一个字节

 

File类常用API

1.java.io.File用于表示文件(目录)

file类用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问

File_第1张图片

File_第2张图片

File_第3张图片

File_第4张图片

2.遍历对象

常用操作比如过滤、遍历等操作

当File对象表示一个目录时,可以使用list()和listFiles()列出目录下的文件和子目录名。listFiles()提供了一系列重载方法,可以过滤不想要的文件和目录:

public static void getAllFile(File file){
        //文件不存在
        if(!file.exists()){
            System.out.println("file is exists");
            return;
        }

        //当file是一个文件时
        if(!file.isDirectory()){
            if(file.isFile()){
                System.out.println(file.getName());
            }

            return;
        }

        //获取File目录下的子目录和文件
        File[] listFile = file.listFiles();

        for(File file2:listFile){
            if(file2.isDirectory()){
                getAllFile(file2);//递归
            }

            if(file2.isFile()){
                System.out.println(file2.getName());
                depath++;
            }

        }

    }

 

RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件,RandomAccessFile 支持水机访问文件,可以访问文件的任意位置

 

1.java文件模型

在硬盘上的文件是byte byte byte存储的,是数据的集合

2.打开文件

有两种模式“rw”(读写) "r"(只读)

RandomAccessFile ref = new RandomAccessFile (file,"rw");

文件指针,打开文件时指针在开头pointwe = 0;

3.写方法

raf.write(int)---> 只写一个字节(后8位),同时指针指向下一个位置,准备再次写入

4.读方法

int b = raw.read();---->读一个字节

(v>>>24) & 0xFF   这是把v前面右移所产生的0去掉

raf.seek(0);RandomAccessFile的定位方法,读文件,必须把指针移到头部

5.文件读写完成后一定要关闭(Oracle官方说明),否则会有意想不到的错误

close(); 关闭

写于:2020年10月14日  8:30  请您多多指教!

你可能感兴趣的:(IO,Java)