zoukankan      html  css  js  c++  java
  • I/O流——File类及使用

    I/O框架介绍

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

    File类及使用

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

    ②   File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作。

    ③   File类直接处理文件和文件系统。比如删除文件,获取文件长度大小信息。

    ④   File类没有提供方法从文件中读取或向文件中存储信息。

    ⑤   构造方法:

    a)         File(String directoryPath)

    b)         File(String directoryPath,String filename)

    c)         File(File dirObj,String filename)

    ⑥   File定义了获取File对象标准属性的方法。

    ⑦   部分File类常用方法:

    a)         public String getName()

    b)         public String getParent()

    c)         public File getParentFile()

    d)         public String getAbsolutePath()

    e)         public boolean exists()

    f)          public File[] listFile()

    g)         public boolean isDirectory()

    h)         public boolean isFile()

    i)           public long length()

    j)           boolean delete()

    k)         boolean mkdir()

    先在d盘下创建一个名为doc的文件夹,文件夹内创建一个txt文本文件

    1         File file = new File("d:\doc");// windows下使用\或/,linux下使用/
    2         System.out.println(file.getAbsolutePath());// 返回此抽象路径名的绝对路径名字符串
    3         System.out.println(file.getParent());// 获取上一级目录的字符串
    4         System.out.println(file.isDirectory());// 判断路径名表示的文件是否是一个目录
    5         System.out.println(file.isFile());// 判断路径名表示的文件是否是一个标准文件
    6         System.out.println(file.exists());// 判断抽象路径名表示的文件或目录是否存在
    7         System.out.println(file.length());// 返回由此抽象路径名表示的文件的长度
    8         System.out.println(file.delete());// 删除此抽象路径名表示的文件或目录--若目录下存在文件则不可删除

    输出结果

    d:doc
    d:
    true
    false
    true
    0
    false

    创建目录及目录下创建文件

    1         File myFile = new File("d:\zhangsan");
    2         System.out.println(myFile.mkdir());// 创建不存在的目录
    3 
    4         File myFile2 = new File("d:\zhangsan\ceshi.txt");
    5         try {
    6             System.out.println(myFile2.createNewFile());// 创建指定目录下不存在的文件
    7         } catch (IOException e) {
    8             e.printStackTrace();
    9         }

    输出结果

    true
    true

    在zhangsan目录下的ceshi.txt中随意输入一些字符,再添加一张图片

    获取目录下所有的文件

    1         String[] files = myFile.list();// 获取目录下所有的文件
    2         for (String f : files) {
    3             System.out.println(f);
    4         }

    输出结果

    ceshi.txt
    tu.png

    返回所有以txt为后缀名的文件

     1         String[] files2 = myFile.list(new FilenameFilter() {
     2 
     3             @Override
     4             public boolean accept(File dir, String name) {
     5                 return name.endsWith(".txt");//返回所有以txt为后缀名的文件
     6             }
     7         });
     8         for (String f : files2) {
     9             System.out.println(f);
    10         }

    输出结果

    ceshi.txt

    获取目录中所有的文件,名称及大小

    1         File[] files3=myFile.listFiles();
    2         for(File f:files3){
    3             System.out.println(f.getName()+"--"+f.length());
    4         }

    输出结果

    ceshi.txt--140
    tu.png--73425

    返回目录下所有以txt为后缀名的文件,名称及大小

    方法一

     1         File[] files4=myFile.listFiles(new FilenameFilter() {
     2             
     3             @Override
     4             public boolean accept(File dir, String name) {
     5                 return name.endsWith(".txt");//返回目录下所有以txt为后缀名的文件
     6             }
     7         });        
     8         for(File f:files4){
     9             System.out.println(f.getName()+"--"+f.length());
    10         }

    输出结果

    ceshi.txt--140

    方法二

     1         File[] files5=myFile.listFiles(new FileFilter() {
     2             
     3             @Override
     4             public boolean accept(File pathname) {
     5                 return pathname.getName().endsWith(".txt");
     6             }
     7         });        
     8         for(File f:files5){
     9             System.out.println(f.getName()+"--"+f.length());
    10         }

    输出结果

    ceshi.txt--140

  • 相关阅读:
    Get-CrmSetting返回Unable to connect to the remote server的解决办法
    Dynamics 365中的常用Associate和Disassociate消息汇总
    Dynamics 365 Customer Engagement V9 活动源功能报错的解决方法
    Dynamics Customer Engagement V9版本配置面向Internet的部署时候下一步按钮不可点击的解决办法
    Dynamics 365检查工作流、SDK插件步骤是否选中运行成功后自动删除系统作业记录
    注意,更改团队所属业务部门用Update消息无效!
    Dynamics 365的审核日志分区删除超时报错怎么办?
    Dynamics 365使用Execute Multiple Request删除系统作业实体记录
    Dynamics 365的系统作业实体记录增长太快怎么回事?
    Dynamics CRM日期字段查询使用时分秒的方法
  • 原文地址:https://www.cnblogs.com/wzy330782/p/5470511.html
Copyright © 2011-2022 走看看