牛客網Java刷題知識點之File對象常用功能:獲取文件名稱、獲取文件路徑、獲取文件大小、獲取文件修改時間、創建與刪除、判斷、重命名、查看系統根目錄、容量獲取、獲取某個目錄下內容、過濾器


 

 

  不多說,直接上干貨!

 

 

 

獲取文件名稱、獲取文件路徑、獲取文件大小、獲取文件修改時間

 

 

 

FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

public class FileMethodDemo {
    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        /*
         * File對象的常見方法。
         * 1,獲取。
         *         1.1  獲取文件名稱。
         *         1.2  獲取文件路徑。
         *         1.3  獲取文件大小。
         *         1.4  獲取文件修改時間。
        */
        getDemo();

    }
    
    public static void getDemo(){//獲取
//      File file = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\a.txt");//這是絕對路徑。    File對象
    File file = new File("a.txt");//這是相對路徑 String name = file.getName();//獲取文件名稱 String absPath = file.getAbsolutePath();//獲取文件路徑,是絕對路徑。 String path = file.getPath();//獲取文件路徑,是相對路徑。 long len = file.length(); long time = file.lastModified();//獲取文件修改時間 Date date = new Date(time); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG); String str_time = dateFormat.format(date);
        System.out.println("parent:"+file.getParent());
        System.out.println("name:"+name);
        System.out.println("absPath:"+absPath);
        System.out.println("path:"+path);
        System.out.println("len:"+len);
        System.out.println("time:"+time);
        System.out.println("str_time:"+str_time);
    }
}

 

 

 

 

 

 

 

 

 創建與刪除

FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;             

public class FileMethodDemo{             
    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException { 
        /*       
         * File對象的常見方法。
         * 創建與刪除。
         */
        createAndDeleteDemo();
    }
    
    public static void createAndDeleteDemo() throws IOException {                                             
        File dir = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\a.txt");
        boolean b = dir.mkdir();//make directory        
        System.out.println("b="+b);                                                                                      
        dir.mkdirs();//創建多級目錄
        System.out.println(dir.delete());
        
        //文件的創建和刪除。
        File file = new File("file.txt");
        
        /*
         * 和輸出流不一樣,如果文件不存在,則創建,如果文件存在,則不創建。 
         */
        boolean b1 = file.createNewFile();         
        System.out.println("b1="+b1); 
        
        boolean b2 = file.delete(); 
        System.out.println("b2="+b2);
    }
}

 

 

 

 

 

 

 

 

 

 判斷

 FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

public class FileMethodDemo {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        /*
         * File對象的常見方法。
         * 判斷。
         */
        isDemo();
    }
    
    public static void isDemo() throws IOException{
        File f = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\a.txt");
        f.mkdir();
        f.createNewFile();
        
        boolean b = f.exists();        
        System.out.println("b="+b);
        // 最好先判斷是否存在。 
        System.out.println(f.isFile());
        System.out.println(f.isDirectory());
    }
}

 

 

 

 

 

 

 

 

 

重命名

 FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

public class FileMethodDemo {
    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        /*
         * File對象的常見方法。
         * 4, 重命名    
         */
        renameToDemo();
        
    }
    
    public static void renameToDemo() {
        File f1 = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\a.txt");
        File f2 = new File("D:\\Code\\eclipseMarsPaperCode\\DataFeatureSelection\\b.txt");
        boolean b = f1.renameTo(f2);
        System.out.println("b="+b);
    }
}

 

 

 

 

 

 

 

 

 

 

系統根目錄

 

 

 

 

 

 FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

public class FileMethodDemo {
    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        /*
         * File對象的常見方法。
         * 系統根目錄
         */    
        listRootsDemo();
    }
    
    public static void listRootsDemo() {
        File[] files  = File.listRoots();        
        for(File file : files){
            System.out.println(file);
        }
    }
}

 

 

 

 

 

 

 

 

 容量獲取

 

 

 FileMethodDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.util.Date;

public class FileMethodDemo {
    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        /*
         * File對象的常見方法。
         * 系統根目錄和容量獲取
         */    
        listRootsDemo();
    }
    
    public static void listRootsDemo() {
        File file = new File("D:\\");
        System.out.println("getFreeSpace:"+file.getFreeSpace());
        System.out.println("getTotalSpace:"+file.getTotalSpace());
        System.out.println("getUsableSpace:"+file.getUsableSpace());
    }
}

 

 

 

 

 

 

 

 

獲取目錄內容

 

 

 

 

 FileListDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;


public class FileListDemo {
    /**
     * @param args
     */
    public static void main(String[] args) {
        listDemo();
    }
    
    public static void listDemo() {
        File file = new File("D:\\");
        /*
         * 獲取當前目錄下的文件以及文件夾的名稱,包含隱藏文件。
         * 調用list方法的File對象中封裝的必須是目錄。
         * 否則會發生NullPointerException
         * 如果訪問的系統級目錄也會發生空指針異常。
         * 如果目錄存在但是沒有內容,會返回一個數組,但是長度為0.
         */
        String[] names = file.list();
        System.out.println(names.length);
        
        for(String name : names){
            System.out.println(name);
        }
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

過濾器

 

 

 

 

 

FileListDemo.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;

import zhouls.bigdata.DataFeatureSelection.test.FilterByHidden;
import zhouls.bigdata.DataFeatureSelection.test.SuffixFilter;

public class FileListDemo {
    /**
     * @param args
     */
    public static void main(String[] args) {
        listDemo();
        listDemo_2();
        listDemo_3();
        listDemo_4();
    }
    
    
    public static void listDemo_4() {    
        File dir = new File("D:\\");
        String[] names = dir.list(new FilterByJava());//FilterByJava.java
        for(String name : names){
            System.out.println(name);
        }
    }
    
    
    public static void listDemo_3() {    
        File dir = new File("D:\\");
        File[] files = dir.listFiles(new FilterByHidden());//FilterByHidden.java
        for(File file : files){
            System.out.println(file);
        }
    }

    public static void listDemo_2() {
        File dir = new File("D:\\");
        String[] names = dir.list(new SuffixFilter(".txt"));
        for(String name : names){
            System.out.println(name);
        }
    }
    
    public static void listDemo() {
        File file = new File("D:\\");
        /*
         * 獲取當前目錄下的文件以及文件夾的名稱,包含隱藏文件。
         * 調用list方法的File對象中封裝的必須是目錄。
         * 否則會發生NullPointerException
         * 如果訪問的系統級目錄也會發生空指針異常。
         * 如果目錄存在但是沒有內容,會返回一個數組,但是長度為0.
         */
        String[] names = file.list();
        System.out.println(names.length);
        
        for(String name : names){
            System.out.println(name);
        }
    }
}

 

 

 

 

 

 

 

FilterByHidden.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.FileFilter;

public class FilterByHidden implements FileFilter {
    public boolean accept(File pathname) {
        return !pathname.isHidden();
    }
}

 

 

 

 

 

FilterByJava.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.FilenameFilter;

public class FilterByJava implements FilenameFilter {
    public boolean accept(File dir, String name) {
        System.out.println(dir+"---"+name);        
        return name.endsWith(".java");//name是每個文件名稱 ,   .java即凡是.java文件全為真
    }
}

 

 

 

 

 

 

 

SuffixFilter.java

package zhouls.bigdata.DataFeatureSelection.test;

import java.io.File;
import java.io.FilenameFilter;

public class SuffixFilter implements FilenameFilter {
    private String suffix ;
    public SuffixFilter(String suffix) {
        super();
        this.suffix = suffix;
    }
    public boolean accept(File dir, String name) {
        return name.endsWith(suffix);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM