2020.7.28

学习内容:

 1、文件 

(1)文件操作

Java中文件操作的所有类都在java.io这个包里面,该包下面有一个File类,可以操作文件该类给人一种误解,当大家第一眼看到这个File类时,会想到File类可以读写文件,这是错误的。因为Java提供的File类,只能创建文件、删除文件、对文件属性进行操作,并不能对文件里面的内容进行读写操作。


用户在磁盘上寻找文件时,所历经的文件夹线路叫路径。路径分为绝对路径和相对路径。
   #绝对路径:从根文件夹开始的路径,以“\” 作为开始。
   #相对路径:从当前文件夹开始的路径。
在windows中路径的分割线是“/”或“\"; 在Linux或Unix中路径的分割线是“/”。
例如,C盘下面有一个文件夹叫Hello,用路径就可以这样表示:C:/Hello     

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

File类常见的构造方法:

 

File类常见的方法:

 示例:文件常见属性操作

复制代码
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class FileDemo {
    public static void main(String[] args)throws IOException {
        testFile();
    }
    public static void testFile()throws IOException{
        Scanner con=new Scanner(System.in);
        System.out.println("1、查看文件属性");
        System.out.println("2、删除文件");
        File file=new File("F:","Hello.java");
        String line=con.nextLine();
        if(line.equals("2")) {
            file.deleteOnExit();
            return;
        }
        if(!file.exists())
            file.createNewFile();
        //判断是否可以执行
        String canExe = file.canExecute()?"可以执行":"不可以执行";
        //判断是否可读
        String canRead = file.canRead()?"可以读":"不可以读";
        //判断是否可写
        String canWrite = file.canWrite() ?"可以写":"不可以写";
        //绝对路径
        String abFile = file. getAbsolutePath();
        //获取父目录
        String parent = file. getParent() ;
        //判断是否为文件
        String isFile= file.isFile() ?"是文件":"是文件夹";
        //判断是否为绝对路径
        String isAb=file.isAbsolute () ?"是绝对路径": "相对路径";
        //判断是否为文件夹
        String isDir = file. isDirectory() ?"是文件夹":"是文件";
        //判断是否为隐藏
        String isHidden = file.isHidden()?"隐藏文件":"不是隐藏文件";
        //文件的长度
        long len = file.length() ;
        //最后一次修改时间
        SimpleDateFormat sft = new SimpleDateFormat ("yyy-MM-dd hh:mm:ss");
        String lastMod = sft. format (new Date (file.lastModified()));
        System.out.println(canExe) ;
        System.out.println(canRead);
        System.out.println(canWrite);
        System.out.println("绝对路径: "+abFile) ;
        System.out.println("父目录:"+parent) ;
        System.out.println(isFile) ;
        System.out.println(isAb) ;
        System.out.println(isDir) ;
        System.out.println(isHidden) ;
        System.out.println(len) ;
        System.out. println("最后一次修改时间: " +lastMod) ;
    }
}
复制代码

 

(2)目录管理

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

示例:搜索整个目录

复制代码
import java.io.File;
public class ListFile {
    public static void main(String[l args) {
         File f= new File("D:\\file\\D\\hfsd1302101 basic");
         list (f) ;
    }
    public static void list(File file) {
         File[] fs=file.listFiles() ;
         for(File f:fs) {
            if (f. isDirectory()) {
                 list(f) ;
            }
            System. out. println(f. getAbsolutePath()) ;
         }
    }
}
复制代码

 输出结果示例:

明天要学习的内容

12.2.1 字符流和字节流

原文地址:https://www.cnblogs.com/ltw222/p/13380698.html