文件名称:3Java SE(下).doc
文件大小:76KB
文件格式:DOC
更新时间:2020-09-23 06:27:28
JavaSE基础
1.java.io.File: 该类用来表示一个文件或目录,使用它可以: 1:访问文件或目录的属性(名字,大小,最后修改时间等) 2:操作文件或目录(创建,删除) eg: File file = new File("."+File.separator+"test.txt"); 1)表示当前项目根目录下的文件test.txt,在描述文件或目录时,我们指定的路径最好,使 用相对路径,否则会出现系统差异,不利于跨平台。 2)".":当前目录,在eclipse中运行时,表示当前项目的根目录 3)java.io.File 由于目录的层级分隔符不同系统也有差异: windows:"\",例如:d:\xxx.txt linux:"/" 所以应当使用File的常量表示:File.separator 获取属性信息的相关方法: 1)获取文件名:String getName() 2)获取文件大小:long length() 3)查看文件是否真实存在:boolean exists() 4)查看是否表示的是文件:boolean isFile() 5)查看是否表示的是目录:boolean isDirectory() 6)以下三个方法判断文件或目录是否:可写,可读,可运行 file.canWrite(); file.canRead(); file.canExecute(); 是否为隐藏文件:file.isHidden(); 2.使用File创建一个新文件 ---->在当前项目根目录下创建一个名为demo.txt的文件 若是在当前目录下,"./"是可以忽略不写的 File file = new File("demo.txt"); //若该文件不存在则创建 if(!file.exists()){ //创建新文件 file.createNewFile(); System.out.println("创建完毕!"); } 方法: 1)使用File删除一个文件:file.delete(); 2)使用File创建一个目录:file.mkdir(); 3)创建多级目录:file.mkdirs(); --mkdirs()在创建当前目录的同时,将所有不存在的父目录一同创建 4)删除目录:file.delete(); 若是删除目录,前提是该目录必须是一个空目录(目录中没有任何内容),否则删 除不掉 3.File操作: 1)若File表示的是一个目录,我们可以获取该目录下的所有子项,子项无非还是文件或目录。 /* * 获取当前项目根目录下的所有子项 */ File dir = new File("."); if(dir.isDirectory()){//判断文件表示的是否是目录 /* *方法: * File[] listFiles() * 该方法会获取当前目录下的所有子项,每一个子项无非还是文件或目录,所 以,可以用若干File对象表示每一个子项,最终将他们存入一个数组返回。 */ File[] subs = dir.listFiles(); for(File sub : subs){ if(sub.isFile()){ System.out.println("文件:"+sub.getName()); }else{ System.out.println("目录:"+sub.getName()); } } } 2)FileFilter:文件过滤器 使用文件过滤器来获取一个目录下满足条件的部分子项。是一个接口,本身不能实例化,我们需要定义一个类实现该接口,并重写其定义的accept方法来定义过滤规则。 accept方法用于定义过滤要求,当给定的file对象满足要求就返回true即可。 重载的listFiles方法: 要求我们传入一个文件过滤器,然后该方法会将当前目录下的所有子项顺序的传递给过滤器的accept方法,只将返回为true的子项保留,最终存入一个数组并返回。eg:File[] subs = dir.listFiles(filter);---->filter为过滤器 3)删除多级目录: 由于一个目录中可能含有子项。所以要删除当前这个目录必须先将其所有子项删除才 可以。