java i/o 输入输出流
一:编码问题
1.gbk: 中文占2个字节,英文一个字节
2.utf-8: 中文占3个字节,英文一个字节
3.utf-16be: 中文占1个字节,英文一个字节
File类常用API
1.java.io.File用于表示文件(目录)
file类用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问
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 请您多多指教!