• Java 文件操作


    File类

    1、用于表示一个文件或者是文件夹的路径的对象(抽象路径名)

    2、路径分为相对路径和绝对路径

      相对路径:相对于某个路径而言的路径

      绝对路径:从根目录开始的路径

    3、File类型构造方法 

      1、File(String path):把字符串的路径,封装成一个File对象

      2、File(String parent, String child):将父级路径和子级路径封装成一个File对象,其实描述的是父级路径和子级路径拼接后的路径

      3、File(File parent, String child):将父级File对象路径和字节路径封装成一个File对象,其实描述的也是父级路径和子级路径拼接后的路径。

    4、创建文件

      1、createNewFile():创建当前File对象所描述的路径的文件 返回值为boolean

      2、mkdir():创建当前File对象所描述的路径的文件夹(如果父级路径不存在,那么不会自动创建父级路径)返      回值为boolean

      3、mkdirs():创建当前File对象所描述的路径的文件夹(如果父级路径不存在,那么自动创建父级路径)返回      值为boolean

    5、File类型的删除方法

      1、delete():删除调用者描述的文件或者文件夹

      2、注意事项:

          1、delete在删除文件夹的时候,只能删除空文件夹

          2、delete方法不走回收站

    6、File类型的重命名方法

      1、renameTo(File dest)

     

        调用者是当前文件或者文件夹的路径对象

     

        参数是目标文件或者文件夹的路径对象

     

      2、注意事项:

     

        如果在同一个文件夹下,修改路径,就是重命名

     

        如果在不同文件夹下,修改路径,就是剪切

    7、File类型的常用功能 

      1、exists():判断当前调用者File对象,是否存在

      2、isFile():判断当前调用者File对象,是否是文件

      3、isDirectory():判断当前调用者File对象,是否是文件夹

      4、getAbsolutePath():获取当前File对象的绝对路径

      5、getPath():获取的就是在构造方法中封装的路径

      6、getName():获取最底层的简单的文件或者文件夹名称(不包含所造目录的路径)

      7、length():获取文件的字节个数

        该方法被文件File对象调用时,返回的是文件的字节个数

        该方法被文件夹File对象调用时,返回的数据是不确定的

      8、String[] list():获取当前文件夹下的所有文件和文件夹的名称,到一个字符串数组中

      9、File[] listFiles():获取当前文件夹下的所有文件和文件夹的File对象,到一个File对象数组中

    8、练习

    import java.io.File;
    import java.util.Scanner;
    
    /*
     * 键盘录入一个文件夹路径
     *打印这个文件夹下的所有文件的绝对路径(包含子文件夹的内容)
     */
    public class Test {
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String s = sc.nextLine();
            File f = new File(s);
            printAll(f);
            
        }
        public static void printAll(File f) {//使用递归 
            if(f.exists()&&f.isDirectory()) {
                System.out.println(f.getPath());
                File[] fs = f.listFiles();
                for(int i=0;i<fs.length;i++) {
                    printAll(fs[i]);
                }
            }else if(f.exists()){
                System.out.println(f.getPath());    
            }
        }
    }
    练习

     

     

  • 相关阅读:
    两数组相比筛选数据
    利用Cache防止同一帐号重复登录
    [转]post与get的区别
    巧妙运用SQL Server保护数据
    华为任正非:让一线呼唤炮火(续)
    ASP.NET到底该从哪开始学起?
    C# 4.0中泛型协变性和逆变性详解
    服装库存积压的解决路径
    Spring3 MVCx学习 skyCc
    Hibernate缓存(转述) skyCc
  • 原文地址:https://www.cnblogs.com/xfdhh/p/11219130.html
Copyright © 2020-2023  润新知