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



相关文章
|
7天前
|
JavaScript Java 编译器
Java包装类和泛型的知识点详解
Java包装类和泛型的知识点的深度理解
|
20天前
|
Java
java8中List对象转另一个List对象
java8中List对象转另一个List对象
36 0
|
6天前
|
存储 Java 编译器
对象的交响曲:深入理解Java面向对象的绝妙之处
对象的交响曲:深入理解Java面向对象的绝妙之处
36 0
对象的交响曲:深入理解Java面向对象的绝妙之处
|
11天前
|
Java
在Java中,多态性允许不同类的对象对同一消息做出响应
【4月更文挑战第7天】在Java中,多态性允许不同类的对象对同一消息做出响应
17 2
|
13天前
|
Java
java线程知识点总结
Java线程核心概念:线程是程序执行流,一个进程可有多个线程。创建线程通过继承Thread或实现Runnable接口。线程状态包括新建、就绪、运行、阻塞、等待、超时等待和终止。同步用synchronized或Lock防止数据不一致,避免死锁。线程间通过共享变量、wait/notify通信。线程池(如ThreadPoolExecutor、ScheduledThreadPoolExecutor)优化性能和资源管理。
16 6
|
16天前
|
设计模式 安全 Java
Java基础知识点总结1
Java基础知识点总结
23 0
|
20天前
|
Java
Java常用封装Base对象
Java常用封装Base对象
8 0
Java判断某时间是否在一个时间段
Java判断某时间是否在一个时间段
|
9天前
|
存储 Java 数据库连接
java多线程之线程通信
java多线程之线程通信
|
10天前
|
安全 Java 开发者
深入理解Java并发编程:线程安全与性能优化
【4月更文挑战第9天】本文将深入探讨Java并发编程的核心概念,包括线程安全和性能优化。我们将详细解析Java中的同步机制,包括synchronized关键字、Lock接口以及并发集合等,并探讨它们如何影响程序的性能。此外,我们还将讨论Java内存模型,以及它如何影响并发程序的行为。最后,我们将提供一些实用的并发编程技巧和最佳实践,帮助开发者编写出既线程安全又高效的Java程序。
22 3