1.各种编码占用的字节数
- gbk编码中文占用2个字节,英文占用1个字节
- utf-8编码中文占用3个字节,英文占用一个字节
- utf-16be 编码中文占用2个字节,英文占用2个字节
2)Java文件模型(在硬盘的文件是 byte byte byte存储的,是数据的集合)
3)File API
- 构造方法:new File(“相对路径/绝对路径”),new File(“文件目录”,”文件名”)
- File.separator(路径分隔符,适用windows/linux),也可以用”/”或”\”
- 判断是否是目录:file.isDirectory(),目录不存在或不是目录,返回false
- 判断是否是文件:file.isFile()
- 判断文件是否存在:file.exists()
- 创建目录或多级目录:file.mkdir()或者file.mkdirs()
- 删除文件或目录:file.delete()
- 创建新文件:file.createNewFile()
- 获取文件名称:file.getName()
- 获取绝对路径:file.getAbsolutePath()
- 获取父级绝对路径:file.getParent()
- 获取文件大小:file.getSize()
- 获取文件格式名:file.getFormat()
- 父目录路径:file.getParent()
- 父目录对象File:file.getParentFile(),file.getParentFile().isDirectory/delete/mkdir/mkdirs/exists…
- 获取文件长度:file.length()
- 根据目录获取多文件File[]:file.listFiles()
4)遍历文件示例
public static void listDirectory(File dir) throws IOException{
if(!dir.exists()){
throw new IllegalArgumentException("文件不存在");
}
if(!dir.isDirectory()){
throw new IllegalArgumentException("目录不存在");
}
File[] files = dir.listFiles();
if(files != null && files.length > 0){
for (File file : files){
if(file.isDirectory()){
//递归
listDirectory(file);
}else{
System.out.println(file);
}
}
}
}