回顾:
Collection
ArrayList
Map
HashMap
Properties
LinkedList - 链表,灵活性
Collections - 工具类
sort
java.io
File -> 内存对象,表示文件/目录,和本地有没有这个文件/目录没关系
listFiles()
listFiles(FileFilter-accept)
getName()
....
isFile()
isDirectory()
IO -> 输入/输出。读/写
对文件进行[随机]读写的类。不算IO,IO全都是单向的
RandomAccessFile - 可读可写 -使用场景:文件复制/文件加密
实例化 -> new
new(File/fileName,“rw”)
API - 文件以字节为单位
写
write*3//重要
write(b) - write(int b) - 写入指定int值的低八位 xxx(x) 写入的是最后一个x
write(bs) - write(byte[] b) -
write(bs,offset,len) - write(byte[] b,int off,int len) - byte数组从下标off开始,截取长度len。
write 8种基本数据类型
注意:写入到文件中的是字节,看到文件内容是字符
字节 -> 字符 需要编码
读
read * 3 -> 返回 -1 表示读到文件末尾
int read -> 读一个字节,并存入到int类型的低八位
返回读取出来的字节书
int read (bs)-> 读bs.lenth个字节,并且存入到bs中
int read -> 读len个字节,并且在bs中off位置开始存。
返回读取出来的字节个数
read 8种基本数据类型
随机:指定指针位置 pointer -- 读写操作指针都会移动
1.获得当前指针位置 getFilePointer()
2.跳过对应字节数 -> 顺序 skipBytes(int)
3.跳转到指定指针位置 seek(int)
从而实现 读写同时操作
-----------------------------------------------------------------------
随机读写类RandomAccessFile
package java_08;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
import org.junit.Test;
public class RandomAccessFileDemo {--------------------------------随机读写类文件拷贝
@Test
public void init() throws FileNotFoundException {
//new RandomAccessFile(“文件名”,“模式”)
//简化成直接使用文件名
new RandomAccessFile(“a.txt”,“rw”);
new RandomAccessFile(new File(“a.txt”),“rw”);
}
@Test
public void write() throws IOException {------------