2020.8.1

一、今日学习内容:

1、文件

    (1)文件操作

        Java中文件操作的所有类都在java.io这个包里面,该包下面有一个File类,可以操作文件该类给人一种误解,当大家第一眼看到这个File 类时,会想到File类可以读写      文件,这是错误的。因为Java提供的File类,只能创建文件、删除文件、对文件属性进行操作,并不能对文件里面的内容进行读写操作。
        用户在磁盘上寻找文件时,所历经的文件夹线路叫路径。路径分为绝对路径和相对路径。
           #绝对路径:从根文件夹开始的路径,以“” 作为开始。
           #相对路径:从当前文件夹开始的路径。
       在windows中路径的分割线是“/”或“"; 在Linux或Unix中路径的分割线是“/”。
       例如,C盘下面有一个文件夹叫Hello,用路径就可以这样表示:C:/Hello     

       如果C盘下面的文件夹Hello下面有一个文件名叫“Hello.java”, 那么,相对于Hello .文件夹,就可以这样写:Hello.java

 (2)目录管理

    File类中有一个listFiles()方法可 以搜索出某个目录下面所有的方法,但是目录下面还有目录,也是要搜索的,这时可以使用递归。以下代码演示了如何搜索整个目录。

注:java对文件的基本操作如下;

package cn.edu.fhj.day009.FileDemo;

 
import java.io.File;
import java.io.IOException;
 
public class FileDemo {
 
    public static void main(String[] args) throws IOException {
 
        // 将路径描述成File对象
        // File file = new File("d:/java_fd_test/fileDemo.txt");
        File file = new File(
                "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm");
        boolean exists = file.exists(); //  如果路径所表示的文件或者文件夹存在,则返回true
        System.out.println(exists);
 
        // 判断该file是文件夹还是文件
        boolean directory = file.isDirectory();
        System.out.println(directory); // true
 
        boolean ifFile = file.isFile();
        System.out.println(ifFile); // false
 
        // 获取文件的绝对路径
        String absolutePath = file.getAbsolutePath();
        System.out.println(absolutePath);
 
        // 可以获取文件名或文件夹名
        String name2 = file.getName();
        System.out.println(name2);
 
        File file2 = new File(
                "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/Demo.txt");
        ifFile = file2.isFile(); // true
        System.out.println(ifFile);
 
        // 获取文件名
        String name = file2.getName();
        System.out.println(name);
 
        // 获取上一级目录的file对象
        File parentFile = file2.getParentFile();
        System.out.println(parentFile.getAbsolutePath());
 
        // 获取上一级目录的路径字符串
        String parent = file2.getParent();
        System.out.println(parent);
 
        // 获取文件长度 字节(8个bit-- 二进制位)
        long length = file2.length();
        System.out.println(length);
 
        System.out.println("------------------------");
 
        // 获取指定目录下的子节点的名称字符串
        String[] list = file.list();
        for (String s : list) {
            System.out.println(s);
        }
 
        System.out.println("------------------------");
 
        // 获取指定目录下的子节点的File描述对象
        File[] listFiles = file.listFiles();
        for (File f : listFiles) {
            System.out.println(f.getAbsolutePath());
        }
 
        System.out.println("------------------------");
 
        // 创建一个文件夹
        File f = new File(
                "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/xx/yy/zz");
        // boolean mkdir = f.mkdir(); // 不能创建多级目录
        // System.out.println(mkdir);
 
        // boolean mkdirs = f.mkdirs(); // 可以创建多级目录
        // System.out.println(mkdirs);
        //
        // // 创建文件
        File file3 = new File(
                "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/xx/yy/zz/cls.txt");
        boolean createNewFile = file3.createNewFile();
        System.out.println(createNewFile);
 
        // 重命名文件:其实可以把路径都给改了
        file3.renameTo(new File(
                "F:/up_mouth_10/code_data/Data_Structure_And_Algorithm/xx/yy/zz/cls001.txt"));
 
        // 删除文件
        boolean delete = file3.delete();
        System.out.println(delete);
 
    }
 
}
二、遇到的问题:
   不理解文件操作流程。
三、明日学习计划:
继续学习第十二章的知识,继续阅读《大道至简》。
原文地址:https://www.cnblogs.com/marr/p/13451744.html