(一)流--IO框架

介绍:

IO(Input/Output)是计算机输入/输出的接口.java的核心库java.io提供了全方面的IO接口,包括:文件系统的操作,文件读写,标准设备输出等等

  • File  文件和目录类
  • InputStream  OutputStream 字节流读写类
  • Reader writer 字符流读写类

File类及使用

一个File类的对象,表示了磁盘上的文件和目录

File  file=new File("C:\\FileDemo");
    System.out.println(file.getAbsolutePath());//获得文件或目录的绝对路径
    System.out.println(file.getParent());//获得上级目录的字符串
    System.out.println(file.isDirectory());//判断是不是文件夹或是目录
    System.out.println(file.isFile());//判断是不是文件
    System.out.println(file.exists());//判断目录是否存在
    System.out.println(file.length());//测试目录大小
    System.out.println(file.delete());//可以删除目录(只能删除空的目录)
    File myFile=new File("C:\\zhangsan");
    System.out.println(myFile.mkdir());//创建目录
    File myFile2=new File("C:/zhangsan/tanlei.txt");
    System.out.println(myFile2.createNewFile());//创建空文件
    String[] files=file.list();//查出目录下的所有文件和目录
    for(String file1:files){
        System.out.println(file1);
    }
String[] files2=file.list(new FilenameFilter() {//通过匿名内部类来构建    过滤目录和文件
        
        @Override
        public boolean accept(File dir, String name) {//dir  遍历的目录   name  文件,名或目录名
            // TODO Auto-generated method stub
            return name.endsWith(".txt");//以什么结尾的文件过滤
        }
    });
    for(String file2:files2){
        System.out.println(file2);
    }
//获得文件的相关信息  File[]
    File[] files3=file.listFiles();
    for(File file3:files3){
        System.out.println(file3.getName()+"   "+file3.length());
    }
//获得文件的名字和字节数大小
    File[] files4=file.listFiles(new FilenameFilter() {
        
        @Override
        public boolean accept(File dir, String name) {
            // TODO Auto-generated method stub
             return name.endsWith(".txt");
        }
    });
    for(File file4:files4){
        System.out.println(file4.getName()+"   "+file4.length());
    }
//获得文件名和大小
    File[] files5=file.listFiles(new FileFilter() {
        
        @Override
        public boolean accept(File pathname) {
            // TODO Auto-generated method stub
            return pathname.getName().endsWith(".txt");
        }
    });
    
    for(File file5:files5){
        System.out.println(file5.getName()+"   "+file5.length());
    }

 

posted @ 2018-08-21 16:30  言西早石头侠  阅读(122)  评论(0编辑  收藏  举报