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



本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7580810.html,如需转载请自行联系原作者
相关文章
|
3天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
15 2
|
7天前
|
存储 缓存 安全
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见。本文介绍了使用 `File.createTempFile` 方法和自定义创建临时文件的两种方式,详细探讨了它们的使用场景和注意事项,包括数据缓存、文件上传下载和日志记录等。强调了清理临时文件、确保文件名唯一性和合理设置文件权限的重要性。
18 2
|
15天前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
|
17天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
25 4
|
安全 算法 Java
Java 17 新功能介绍(LTS)
Java 17 新功能介绍(LTS)
684 0
Java 17 新功能介绍(LTS)
|
Java 测试技术 API
Java 18 新功能介绍
Java 18 新功能介绍
319 0
Java 18 新功能介绍
|
JavaScript 前端开发 算法
超详细 Java 15 新功能介绍
超详细 Java 15 新功能介绍
168 0
超详细 Java 15 新功能介绍
|
Java Unix Linux
Java 14 新功能介绍
Java 14 新功能介绍
202 0
Java 14 新功能介绍
|
存储 JSON Oracle
Java 13 新功能介绍
Java 13 新功能介绍
243 0
Java 13 新功能介绍
|
8天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。