zoukankan      html  css  js  c++  java
  • java基础之File类

    File类是java.io包中很重要的一个类;

    File类的对象可以表示文件,还可以表示目录,在程序中一个File类对象可以代表一个文件或目录;

    File对象可以对文件或目录的属性进行操作,如:文件名、最后修改日期、文件大小等;

    File对象无法操作文件的具体数据,即不能直接对文件进行读/写操作。

    ---------------------------------------------------------------------------------------------------

    创建File对象三种方法:

    //在当前目录下创建一个与aaa.txt文件名相关联的文件对象
    File f1 = new File("aaa.txt");
    //指明详细的路径以及文件名,请注意双斜线或用反斜杠
    File f2 = new File("D:\Java\Hello.java");
    //指明详细的路径以及目录名,请注意双斜线
    File f3 = new File("D:/Java");

    ---------------------------------------------------------------------------------------------------

    创建功能
    public boolean createNewFile()创建文件 如果存在这样的文件,就不创建了
    public boolean mkdir()创建文件夹 如果存在这样的文件夹,就不创建了
    public boolean mkdirs()创建文件夹,如果父文件夹不存在,会帮你创建出来
    删除功能
    public boolean delete()
    重命名功能
    public boolean renameTo(File dest)
    判断功能
     public boolean isDirectory():判断是否是目录
     public boolean isFile():判断是否是文件
     public boolean exists():判断是否存在
     public boolean canRead():判断是否可读
     public boolean canWrite():判断是否可写
     public boolean isHidden():判断是否隐藏
    基本获取功能
    public String getAbsolutePath():获取绝对路径
    public String getPath():获取相对路径
    public String getName():获取名称
    public long length():获取长度。字节数
    public long lastModified():获取最后一次的修改时间,毫秒值

    高级获取功能
    public String[] list()将目录下的子目录及文件的名字,返回到String数组中
    public File[] listFiles()将目录下的子目录及文件的实例返回到File数组中
    具体代码:

    package com.etc.day15.file;
    
    import java.io.File;
    
    public class FileDemo_1 {
    
    	public static void main(String[] args) {
    		
    		//高级获取功能将目录下的子目录及文件的名字,返回到String数组中
    		File file = new File("e:/job");
    		
    		String [] filelist = file.list();
    		for(String files:filelist){
    			System.out.println(files);
    		}
    		
    		System.out.println("---------------");
    		
    		File[] file1 =file.listFiles();
    		for(File files1:file1){
    			System.out.println(files1.getName());
    			
    		}
    		
    	}
    	
    }
    

    package com.etc.day15.file;
    
    import java.io.File;
    import java.io.IOException;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class FileDemo {
    	public static void main(String[] args) {
    		
    		File file = new File("fileDemo");
    		long time = file.lastModified();//返回最后修改的毫秒数
    		Date date = new Date(time);
    		DateFormat dateformat = new SimpleDateFormat("YYYY-MM-dd kk:mm:ss");
    		String str = dateformat.format(date);
    		System.out.println("最後修改日期:"+str);
    		System.out.println("文件名稱:"+file.getName());
    		System.out.println("文件絕對路徑:"+file.getAbsoluteFile());
    		System.out.println("文件相對路徑:"+file.getPath());
    		System.out.println("是否是文件:"+file.isFile());
    		System.out.println("是否为 目录:"+file.isDirectory());
    		
    		File file1 = new File("e:/b/a/c");
    		System.out.println("是否存在目录"+file1.exists());//目录是否存在,如果存在返回true
    		System.out.println("是否创建目录"+file1.mkdir());//创建文件夹。如果存在这样的文件夹就不创建了,已经存在返回false
    		System.out.println("是否创建目录"+file1.mkdirs());//创建文件夹,如果父文件夹不存在会帮你创建出来,已经存在返回false
    		
    		//System.out.println("删除文件:"+file.delete());
    		
    	}
    
    }
    

    文件过滤:

    文件名过滤器接口:interface FilenameFilter
    常用于过滤不符合规格的文件名
    需重写accept方法自定义过滤规则,如下:

    boolean  accept(File dir, String name)
    --  dir:表示文件的当前目录。
    --  name:表示当前目录的子目录或者文件的名字。
    File类中提供了使用文件名过滤器遍历目录的方法:

    String[]  list(FilenameFilter filter)
    --  把满足指定过滤条件的文件和目录,返回到String数组中。
    File[]  listFiles(FilenameFilter filter)
    --  把满足指定过滤条件的文件和目录,返回到File数组中。

    package com.etc.day15.file;
    
    import java.io.File;
    import java.io.FilenameFilter;
    
    public class FileFilter {
    	public static void main(String[] args) {
    		
    		File file = new File("e:/驱动");
    		
    		File [] filelist = file.listFiles(new FilenameFilter(){
    
    			@Override
    			public boolean accept(File dir, String name) {
    				
    				if(name.endsWith(".zip")){
    					return true;
    					
    				}
    				
    				return false;
    			}});
    		//遍歷
    		for(File f:filelist){
    			System.out.println(f.getName());
    		}
    		
    		
    		
    		
    		
    		
    		
    		
    		
    	}
    
    }
    







  • 相关阅读:
    java adsl 自动拔号!
    IoC 原理
    JAVA lucene 高并发问题
    C# java通信之webservice cxf Sping
    jquery插件学习(六)
    jquery插件学习(三)
    jquery实战定宽
    jquery插件学习(五)
    jquery插件学习(四)
    Androidsqlite数据库存取图片信息
  • 原文地址:https://www.cnblogs.com/jatpeo/p/11767583.html
Copyright © 2011-2022 走看看