【Java】【基础篇】day20:IO流(File对象)

前言

本期任务:毕向东老师Java视频教程学习笔记(共计25天)


import java.io.*;

/*
File类常见方法:
1,创建。
	boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。
						和输出流不一样,输出流对象一建立创建文件。而且文件已经存在,会覆盖。

	boolean mkdir():创建文件夹。
	boolean mkdirs():创建多级文件夹。
2,删除。
	boolean delete():删除失败返回false。如果文件正在被使用,则删除不了返回falsel。
	void deleteOnExit();在程序退出时删除指定文件。


3,判断。
	boolean exists() :文件是否存在.
	isFile():
	isDirectory();
	isHidden();
	isAbsolute();

4,获取信息。
	getName():
	getPath():
	getParent():

	getAbsolutePath()
	long lastModified()
	long length()
*/

public class FileDemo {
    public static void main(String[] args) throws IOException {

        File f = new File("file.txt");
        System.out.println("Create: " + f.createNewFile());
//        System.out.println("Delete: "+f.delete());

        System.out.println("exist: " + f.exists());
        System.out.println("execute: " + f.canExecute());

        File dir = new File("abc\\\\kkk\\\\a\\\\a\\\\dd\\\\ee\\\\qq\\\\aaa");
        System.out.println("mkdirs: " + dir.mkdirs());

        //记住在判断文件对象是否是文件或者目的时,必须要先判断该文件对象封装的内容是否存在。
        //通过exists判断。
        System.out.println("dir: " + f.isDirectory());
        System.out.println("file: " + f.isFile());
        System.out.println("absoulte: " + f.isAbsolute());


        System.out.println("name: "+f.getName());
        System.out.println("path: "+f.getPath());
        System.out.println("abspath: "+f.getAbsolutePath());

        //该方法返回的是绝对路径中的父目录。如果获取的是相对路径,返回null。
        //如果相对路径中有上一层目录那么该目录就是返回结果。
        System.out.println("parent: "+f.getParent());


        File f1 = new File("Test.java");
        File f2 = new File("abc\\\\kkk\\\\a\\\\a\\\\dd\\\\ee\\\\qq\\\\aaa\\\\hahaha.java");
        System.out.println("Create: " + f2.createNewFile());
        System.out.println("rename: "+f2.renameTo(f1));


    }
}
import java.io.*;

public class FileDemo2 {
    public static void main(String[] args) throws IOException {

        // 输出某个目录下的子目录及其大小
        File dir = new File("C:\\");
        File[] files = dir.listFiles();

        for (File f : files) {
            System.out.println(f.getName() + "::" + f.length());
        }

        System.out.println("-------------------------");

        // 打印某个文件夹下所有以.java结尾的文件

        File dir1 = new File("d:\\\\java1223\\\\day18");

        String[] arr = dir1.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return name.endsWith(".java");
            }
        });

        System.out.println("len:" + arr.length);
        for (String name : arr) {
            System.out.println(name);
        }

    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章