【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);
        }

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