浅谈Java IO流问题

(1)IO流操作中大部分都是对文件的操作,所以Java就提供了File类供我们来操作文件


    (2)构造方法
        A:File file = new File("e:\\demo\\a.txt");
        B:File file = new File("e:\\demo","a.txt");
        C:File file = new File("e:\\demo");
          File file2 = new File(file,"a.txt");
        这三种构造方法实现的效果是一样的


    (3)File类的功能
        A:创建功能
            public boolean createNewFile():创建文件,如果已经存在就不创建
            public boolean makdir():创建文件夹,如果已经存在就不创建
            public boolean makdirs():创建文件夹,如果父文件夹不存在,会帮你建立
            Test1:
            
                    File file = new File("a");
                    file.mkdirs();
            Test2:
            
                    File file = new File("test\\a");
                    file.mkdirs();
            当项目路径下没有“a“文件夹和”test“文件夹,那么Test1就可以在项目路径下建立“a“文件夹
            而Test2会在建立”test“文件夹之后在”test“文件夹内建立“a“文件夹

        B:删除功能
            public boolean delete():删除指定的文件或文件夹
            Test1:
                File file = new File("test\\a");
                file.mkdirs();
                file.delete();
            在建立”test“文件夹之后在”test“文件夹内建立“a“文件夹,然后删掉“a“文件夹。
                注意:
                    A:如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目目录下
                    B:java中的删除不走回收站(删除之后在回收站中找不到,所以不要随
                    意删除磁盘上的东西)
                    C:要删除一个文件夹,请注意该文件夹内不能有文件夹或文件


        C:重命名功能
            public boolean renameTo(File dest)
                如果路径相同,就是改名。
                如果路径名不同,就是改名并剪切
            Test1:
                File file = new File("test\\a.txt");
                File file2 = new File("test\\b.txt");
                file.renameTo(file2);
            ”test“文件夹内的“a.txt“重命名为”b.txt“
            
            Test2:
                File file = new File("test\\a.txt");
                File file2 = new File("b.txt");
                file.renameTo(file2);
            ”test“文件夹内的“a.txt“重命名为”b.txt“,并且直接放到项目目录下
            
            路径以盘符开始:绝对路径
            路径不以盘符开始:相对路径


        D:判断功能
            public boolean isDirectory():判断是否是目录(文件夹)
            public boolean isFile():判断是否是文件
            public boolean exists():判断是否存在
            public boolean canRead():判断是否可读
            public boolean canWrite():判断是否可写
            public boolean isHidden():判断是否隐藏


        E:获取功能
            public String getAbsolutePath():获取绝对路径
            public String getPath():获取相对路径
            public String getName():获取名称
            public long length():获取长度,字节数
            public long lastModified():获取最后一次的修改时间,毫秒值
            Test1:
                File file = new File("b.txt");        
                System.out.println(file.lastModified());
            获取毫秒值
            Test2:
                File file = new File("b.txt");        
                Date d=new Date(file.lastModified());
                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String s=sdf.format(d);
                System.out.println(s);
            将获取到的毫秒值转化为日期输出
            
        F:高级获取功能
            public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
            Test1:
                File file = new File("d:\\");        
                String[] sc=file.list();
                for(String s:sc) {
                    System.out.println(s);
                }
            获取D盘的所有文件或者文件夹的名称数组,并输出
            public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
            Test1:
                File file = new File("d:\\");        
                File[] sc=file.listFiles();
                for(File s:sc) {
                    System.out.println(s);
                }
            获取D盘的所有文件或者文件夹的的File数组,并输出


        G:过滤器功能
            public String[] list(FilenameFilter filter)
            
            Test1:
                File file = new File("d:\\");        
                String[] sc=file.list(new FilenameFilter() {
                    
                    @Override
                    public boolean accept(File dir, String name) {
                        // TODO 自动生成的方法存根
                        System.out.println("name:"+name);
                        if(name.endsWith(".zip"))
                        return true;
                        else
                        return false;
                    }
                });
                for(String s:sc) {
                    System.out.println(s);
                }
            获取D盘的所有以”.zip“结尾的文件或者文件夹的名称数组,并输出

发布了88 篇原创文章 · 获赞 47 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/dai_ma_dong/article/details/103282959
今日推荐