• File


    当需要把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作。

    当把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作。

    因此我们把这种输入和输出动作称为IO操作。

    通过构造方法创建File对象:

            //3种构造方法
            File file=new File("D:\io1227\b.txt");
            File file=new File("src");
            System.out.println(file);
            
            File file=new File("D:\io1227","a.txt");
            System.out.println(file);
            
            //File(String pathname, String child)
            //父路径固定,子路径可替换    更灵活
            File file=new File(new File("D:\io1228"),"a.txt");
            System.out.println(file);            
            // 与系统有关的路径分隔符
            //win  ;
            //linux  :
            System.out.println(File.pathSeparator);
            // 与系统有关的默认名称分隔符
            //win    
            //linux    /
            System.out.println(File.separator);

    File类的获取

            File file=new File("D:\io1227\a.txt");
            //获取绝对路径
            System.out.println(file.getAbsolutePath());
            //获取路径
            System.out.println(file.getPath());
            //获取文件名
            System.out.println(file.getName());
            //获取文件大小
            System.out.println(file.length());

    文件和文件夹的创建删除等

    public static void method01() throws IOException{
            File file=new File("D:\io1227\b.7z");
            //创建文件或文件夹
            boolean flag=file.createNewFile();
            System.out.println(flag);
        }
        public static void method02(){
            File file=new File("D:\io1227\b");
            //删除文件
            boolean flag=file.delete();
            System.out.println(flag);
            
        }
        public static void method03(){
            File file=new File("D:\io1227\a.txt");
            //判断该路径表示的文件或目录是否真实存在
            boolean flag=file.exists();
            System.out.println(flag);
            //判断该路径是否是文件夹
            boolean flag1=file.isDirectory();
            System.out.println(flag1);
            //判断该路径是否是文件
            boolean flag2=file.isFile();
            System.out.println(flag2);
        }
        public static void method04(){
            //File file=new File("D:\io1227\b.png");
            File file=new File("D:\io1227\a\b\c\d\e");
            //创建文件夹
            boolean flag=file.mkdirs();
            System.out.println(flag);    
        }
        //获取目录中的文件和文件夹
        public static void method05(){
            File file=new File("D:\io1227");
            String[] filenames=file.list();
            for(String f: filenames){
                System.out.println(f);
            }
        } 
        //获取目录中的文件和文件夹
        public static void method06(){
            File file=new File("D:\io1227");
            //File[] filenames=file.listFiles();
            //获取当前路径下的.txt文件
            File[] filenames=file.listFiles(new MyFileter());
            for(File f: filenames){
                System.out.println(f.getName()+"..."+f.length());
            }
        }

    文件过滤器

    MyFileter 
    public class MyFileter implements FileFilter{
    
        public boolean accept(File pathname) {
            //判断是否是txt结尾
            return pathname.getName().toLowerCase().endsWith(".txt");
        }
    
    }
    public static void main(String[] args) {
            //找到该路径下的所有txt文件
            File file=new File("D:\io1227");
            File[] files=file.listFiles(new MyFileter());
            for(File f:files){
                System.out.println(f);
            }
        }

    注意:在获取指定目录下的文件或者文件夹时必须满足下面两个条件

    1,指定的目录必须是存在的,

    2,指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException

     

  • 相关阅读:
    mysql的一些不常用语句
    redis的使用1
    linux理论知识点(用于考试)
    服务器负载均衡数据同步的实现
    解决com.ibatis.sqlmap.client.SqlMapException: There is no statement named in this SqlMap
    cvc-complex-type.2.3: Element 'beans' cannot have character [children]
    Oracle11g服务详细介绍及哪些服务是必须开启的
    Oracle
    oracle 帐号scott被锁定 如何解锁
    记录
  • 原文地址:https://www.cnblogs.com/longmingyeyu/p/12761885.html
Copyright © 2020-2023  润新知