zoukankan      html  css  js  c++  java
  • java IO流(一)

    在学习IO流之前,先学习 File类。我们要实现IO的操作,就必须知道硬盘上文件的表现形式。而java就提供了一个File类供我们使用。

    File:文件或目录(文件夹)路径名的抽象表示形式。

    构造方法:

    File(String pathName) : 根据一个路径得到File对象

    File(String parent,String child) :根据一个目录和一个子文件/目录  得到File对象

    File(File parent,String child) :根据一个父File对象 和一个子文件/目录 得到File对象

    一般习惯用第一个构造

    创建功能:

    public boolean createNewFile() :创建文件,如果存在就不创建

    public boolean mkdir():创建文件夹,如果存在就不创建,注意父路径必须要存在才能创建

    public boolean mkdirs()创建文件夹,如果不存在就自动创建

      void createFile() throws IOException {
    
            File file1 = new File("d://demo");
            file1.mkdir();
            File file2 = new File("d://demo/a.txt");
            file2.createNewFile();
    
            File file3=new File("d://demo/aaa/bbb");
            file3.mkdirs();
        }

    删除功能:

    public boolean delete()
    注意:1、java中删除不走回收站。2、要删除一个文件夹,须要注意该文件夹内不能有文件或文件夹。

        void deleteFile() throws IOException {
            File file=new File("a.txt");//注意如果没有写盘符,默认是在项目路径下
            file.createNewFile();
            //删除file对象
            file.delete();
        }

    重命名功能:

    public boolean renameTo(File dest)
    如果路径名相同,就是改名,如果路径名不同就是剪切并改名

     void renameFile(){
            File file1=new File("aa.jpg");
            File file2=new File("d://bb.jpg");
            file1.renameTo(file2);
        }

    判断功能:

    public boolean exists()

    public boolean isDirectory()

    public boolean isFile()

    public boolean isHidden()

    public boolean canRead()

    public boolean canWrite()

    获取功能:

    public String getAbsolutePath()

    public String getPath()

    public String getName()

    public long lastModified()

    public long length()

    public String[] list() :获取指定文件夹下的所有文件或文件夹的名称的数组

    public File[] listFiles() :获取指定文件夹下所有File对象的数组

     void getFile(){
            File file=new File("d://");
            String[] names=file.list();//获取D盘下所有文件或文件夹的名称数组
            for(String s:names){
                System.out.println(s);
            }
            System.out.println("--------------------");
            File[] files=file.listFiles(); //获取D盘下所有文件或文件夹的File对象数组
            for(File f:files){
                System.out.println(f.getName());
            }
        }

    通过过滤器获取:

    public String[] list(FilenameFilter filter)  

    FilenameFilter是一个接口,通过传入它的实现类,将满足条件的文件名加入到数组中

      void getFileByFilter(){
            File file=new File("d://");
            //获取D盘根目录下所有jpg文件
            String[] names=file.list(new FilenameFilter() {
                @Override
                public boolean accept(File dir, String name) {
                    return new File(dir,name).isFile() && name.endsWith(".jpg");
                }
            });
            for(String s:names){
                System.out.println(s);
            }
        }
  • 相关阅读:
    Mysql之正则匹配
    定时任务之elastic-job概述
    清晰讲解LSB、MSB和大小端模式及网络字节序
    极光消息推送多环境配置
    基于TSUNG对MQTT进行压力测试-测试结果
    基于TSUNG对MQTT进行压力测试-基础概念温习
    阻塞式/非阻塞式与同步/异步的区别
    干货!Jenkins下配置findbugs、pmd及checkstyle实现代码自动检测
    jar包
    java环境变量及Eclipse自动编译问题
  • 原文地址:https://www.cnblogs.com/liujufu/p/5034672.html
Copyright © 2011-2022 走看看