File类一般用来创建文件和查看文件的基本信息,不能对文件内容进行增删改操作。
File file = new File("路径“); //将file指向路径下的文件(如果没有该文件,则file会指向空,而不会创建该文件。
file.getName(); //获取文件名
file.length(); //获取文件长度(file为空的话长度为0,返回的是long型数据)
file.isFile(); //判断是否为文件(返回true或是false)
file.isDirectory(); //判断是否是目录(同上)
file.exist(); //判断文件是否存在
File file = new File("C:\\keshe\\a.txt");
if(!file.exist()){
file.createNewFile();
}else{
System.out.println("文件已经存在!");
File f1 = new File("C:\\keshe","demo");
f1.mkdir(); //建立目录
File f2 = new File("C:\\keshe","a/b/c/d");
f2.mkdirs(); //建立多级目录
public class TestDeleteAll{
public void delete(File file){
if(file.exist()){
if(file.isDirectory()){
File[] fs = file.listFiles(); //获得file下的全部文件名
if(fs.length!=0){
for(File file1:fs){
del(file1); //递归思想
}
}
file.detele();
}
}
}
public static void main(String[] args){
File file = new File("C:\\keshe\\a");
FileDeleteAll t = new FileDeleteAll();
t.del(file);
}
(1)使用endwith函数
File file = new File("C:\\keshe\\a");
File[] fs = file.listFiles();
System.out.prinln(fs.getName().endsWith(".txt"));
(2)使用FileFilter接口
File file = new File("C:\\keshe\\a");
File[] fs = file.listFiles(new FIleFilter(){ //返回满足条件的值
public boolean accept(File filename){ //实现接口必须实现其中的抽象方法accept
return filename.getName().endsWith(",txt");
}
}
IO的分类:
(1)按照流向分: 输入流和输出流
(2)按照单位分: 字节流和字符流
(3) 按照功能分: 高级流和低级流
其中,InputStream和OutputStream是字节输入输出流,是所有自己输入输出流的抽象顶级父类。
在流进行读写文件的时候便与文件开通了一条管道(如果流不关则管道一直存在,所以需要及时关闭)。
基本的读写操作:read()和write()