【I/O】File常见用法总结
java.io.File
file可能是一个文件或者文件夹。
获取目录列表(全部/过滤)
import java.io.File; import java.io.FilenameFilter; import java.io.IOException; import java.util.Arrays; import java.util.regex.Pattern; public class Test { public static void main(String[] args) throws IOException{ File path=new File("."); String[] list; //list=path.list(); //获取该文件夹下的所有文件名 list=path.list(new FilenameFilter(){ //FilenameFilter接口为参数 private Pattern pattern=Pattern.compile("(\\D)*"); @Override public boolean accept(File dir, String name) { //FilenameFilter接口需要实现的方法 return pattern.matcher(name).matches(); } }); Arrays.sort(list,String.CASE_INSENSITIVE_ORDER); //字典顺序排序 for(String item:list){ System.out.println(item); } } }
文件基本信息 / 文件创建和删除 / 文件的类型判断
import java.io.File; import java.io.IOException; public class Test { public static void main(String[] args) throws IOException{ //file有可能是文件也有可能是文件夹。 File file=new File("D:/test123/test1234"); // 文件基本信息 System.out.println("file绝对路径:"+file.getAbsolutePath()); System.out.println("file是否可写:"+file.canWrite()); System.out.println("file名:"+file.getName()); System.out.println("file大小:"+file.length()); System.out.println("file最后修改时间:"+file.lastModified()); // 文件类型判断 System.out.println("判断file是否为文件:"+file.isFile()); System.out.println("判断file是否为文件夹:"+file.isDirectory()); //boolean isCreateFile=file.createNewFile(); boolean isCreateDirectory=file.mkdirs(); //区别file.mkdir();前者当父文件夹不存在时会创建父文件夹。后者不会 //重命名或移动file File newFile=new File("D:/test123/test12"); file.renameTo(newFile); //此时会将test1234改为test12 ,这个方法一般用于重命名和移动file。 //判断文件存在,删除文件夹 if(newFile.exists()){ newFile.delete(); } } }