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



相关文章
|
8天前
|
JavaScript Java 编译器
Java包装类和泛型的知识点详解
Java包装类和泛型的知识点的深度理解
|
1天前
|
设计模式 SQL Java
java基础知识点(初级二)
java基础知识点(初级二)
|
1天前
|
存储 Java 容器
java基础知识点(初级)
java基础知识点(初级)
|
1天前
|
Java
Java中如何克隆一个对象?
【4月更文挑战第13天】
9 0
|
2天前
|
Java API 数据库
深入解析:使用JPA进行Java对象关系映射的实践与应用
【4月更文挑战第17天】Java Persistence API (JPA) 是Java EE中的ORM规范,简化数据库操作,让开发者以面向对象方式处理数据,提高效率和代码可读性。它定义了Java对象与数据库表的映射,通过@Entity等注解标记实体类,如User类映射到users表。JPA提供持久化上下文和EntityManager,管理对象生命周期,支持Criteria API和JPQL进行数据库查询。同时,JPA包含事务管理功能,保证数据一致性。使用JPA能降低开发复杂性,但需根据项目需求灵活应用,结合框架如Spring Data JPA,进一步提升开发便捷性。
|
7天前
|
存储 Java 编译器
对象的交响曲:深入理解Java面向对象的绝妙之处
对象的交响曲:深入理解Java面向对象的绝妙之处
36 0
对象的交响曲:深入理解Java面向对象的绝妙之处
|
12天前
|
Java
在Java中,多态性允许不同类的对象对同一消息做出响应
【4月更文挑战第7天】在Java中,多态性允许不同类的对象对同一消息做出响应
17 2
|
13天前
|
Java
java线程知识点总结
Java线程核心概念:线程是程序执行流,一个进程可有多个线程。创建线程通过继承Thread或实现Runnable接口。线程状态包括新建、就绪、运行、阻塞、等待、超时等待和终止。同步用synchronized或Lock防止数据不一致,避免死锁。线程间通过共享变量、wait/notify通信。线程池(如ThreadPoolExecutor、ScheduledThreadPoolExecutor)优化性能和资源管理。
16 6
|
13天前
|
安全 前端开发 Java
Java Web开发知识点学习总结
Java Web开发涉及Java基础、Servlet、JSP、数据库操作(SQL+JDBC)、MVC设计模式、Spring框架、Hibernate ORM、Web服务(SOAP&RESTful)、安全认证(HTTP Basic/Digest/OAuth)及性能优化(缓存、异步、负载均衡)。
15 3
|
17天前
|
设计模式 安全 Java
Java基础知识点总结1
Java基础知识点总结
23 0