Java File 核心知识点
一、核心类
java.io.File:文件 / 目录路径描述类,可判断属性、创建删除,不能读写内容- 字节流:
FileInputStream/FileOutputStream处理所有类型文件 - 字符流:
FileReader/FileWriter仅处理文本文件
二、File 类常用构造
java
运行
File file = new File("a.txt"); //相对路径
File file = new File("D:\\test\\a.txt"); //绝对路径
三、File 常用方法
判断方法
exists():文件是否存在isFile():是否为文件isDirectory():是否为文件夹
创建删除
createNewFile():新建空文件mkdir():创建单级目录mkdirs():创建多级目录delete():删除文件 / 空目录
获取信息
getName():文件名getAbsolutePath():绝对路径length():文件字节大小
四、文件读写基础
1. 字节流读写
java
运行
//写入
try(FileOutputStream fos = new FileOutputStream("b.txt")){
fos.write("测试内容".getBytes());
}catch (IOException e){
e.printStackTrace();
}
//读取
try(FileInputStream fis = new FileInputStream("b.txt")){
byte[] buf = new byte[1024];
int len;
while((len = fis.read(buf)) != -1){
System.out.print(new String(buf,0,len));
}
}catch (IOException e){
e.printStackTrace();
}
2. 字符流读写(文本专用)
java
运行
//写入
try(FileWriter fw = new FileWriter("c.txt",true)){//true追加
fw.write("文字内容");
}catch (IOException e){}
//读取
try(FileReader fr = new FileReader("c.txt")){
char[] ch = new char[1024];
int len;
while((len = fr.read(ch))!=-1){
System.out.print(new String(ch,0,len));
}
}catch (IOException e){}
五、关键要点
- 路径分隔:Windows 用
\\,通用写法/ - 流用完必须关闭,try-with-resources自动关流
write覆盖原有内容,构造传true开启追加- 字节流通用,字符流只适配 txt 等文本
- 所有 IO 操作必须捕获
IOException异常
六、常用遍历目录
java
运行
File dir = new File("D:\\test");
File[] files = dir.listFiles();
for(File f : files){
System.out.println(f.getName());
}