File类在java中表示(带路径的文件或者目录)。接下来所有的IO流操作都是基于File类执行的。
所以先简单介绍下File类的常用属性和方法。
public static void main(String[] args) { File file=new File("D:\111"); //文本的基本属性(可执行,可读,可写) System.out.println(file.canExecute()); System.out.println(file.canRead()); System.out.println(file.canWrite()); //文件的创建 if(!file.exists()){ try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //删除 System.out.println(file.delete()); //相关路径 System.out.println(file.getAbsolutePath());//绝对路径 System.out.println(file.getPath());//路径字符串 System.out.println(file.getName());//路径名 System.out.println(file.getParent());//父路径 }
上面说了文件的创建,目录的创建稍微有点不一样:
file.createNewFile() 改成 file.mkdir()或者file.mkdirs()
file.mkdir()和file.mkdirs()的区别:
file.mkdir()只能增加下一级目录,file.mkdirs()可以随便增加几级目录
目录的遍历:
两种方法
list():返回一个file表示的目录中的子目录或者文件,字符串数组类型
listFiles():返回一个file表示的目录中的子目录或者文件,File数组类型
public static void main(String[] args) { File file=new File("D:\111"); //目录遍历 //快速遍历 String []list=file.list(); for(String str:list){ System.out.println(str); File f=new File(file.getPath()); if(f.isDirectory()){ System.out.println("目录"); }else { System.out.println("文件"); } } //listFiles File[] listFiles=file.listFiles(); for(File f:listFiles){ System.out.println(f.getName()); } }