File类使用小结

一、构造函数

  1. File(String pathname):根据参数转换为抽象路径名创建File实例
  2. File(String parent,String filename):根据parent和filename创建File实例,若parent所指定的路径不存在,则会报IOException
  3. File(File parent,String filename):同上
  4. File(URI uri)

二、常用方法

  1.   exists() 判断抽象路径名中的文件或文件夹是否存在
  2.       list() 返回的是包含指定目录下的文件和文件夹名的String[]数组(不包含子目录中的文件和文件夹),若此抽象路径名不表示目录,则会返回null
  3.       createNewFile() 若文件不存在则创建,在成功的情况下会返回true,若指定的文件已存在则返回false。
  4.       listRoots() 返回磁盘目录数组File[]
  5.       list(FilenameFilter filter) 返回的是包含指定目录下满足过滤器要求的文件和文件夹名的String[]数组(不包含子目录中的文件和文件夹),若此抽象路径名不表示目录,则会返回null
  6.   isDirectory() 判断是否为文件夹
  7.   isFile() 判断是否为文件
  8.   length() 返回文件的字节大小

三、代码示例

  1、构造函数 示例1

import java.io.File;
import java.io.IOException;


public class FileInputStream {
    public static void main(String[] args) {
        File file1=new File("F:\\");
        File file=new File(file1,"helloworld.txt");
        if(file.exists()){
            String str=file.getName();
            System.out.println(str);
        }else{
            try {
                file.createNewFile();
                System.out.println("file created");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    }
}

  2、构造函数 示例2

import java.io.File;
import java.io.IOException;


public class FileDemo2 {
    public static void main(String[] args) {
        /**
         * File(String pathname,String filename)
         * File(File path,String filename)
         * 这两个函数中的第一个参数所指定的路径必须是存在的,否则就会报IOException
         * 
         */
        File file1=new  File("F:\\text2\\src");
        if(file1.exists()){
            System.out.println(file1.getName());
        }else{
            file1.mkdirs();
            System.out.println("create successfully");
        }
        File file=new File(file1,"helloworld.txt");
        if(file.exists()){
            String str=file.getName();
            System.out.println(str);
        }else{
            try {
                file.createNewFile();
                System.out.println("file created");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    }
}

  3、使用FilenameFilter示例

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


public class FileDemo6 {
    public static void main(String[] args) {
        File file=new File("F:\\media\\movie");
        String[] filenames=file.list(new FilenameFilter() {
            
            public boolean accept(File dir, String name) {
                // TODO Auto-generated method stub
                return name.endsWith(".mp4");
            }
        });
        for(String filename:filenames){
            System.out.println(filename);
        }
    }
}

4、打印计算机根目录文件以及文件夹名

import java.io.File;


public class FileDemo4 {
    public static void main(String[] args) {
        File[] files=File.listRoots();
        for(File file:files){
            long length=file.length();
            if(length>0){
                String[] filenames=file.list();
                for(String filename:filenames){
                    System.out.println(filename);
                }
            }
        }
    }
}

5、FileFilter使用示例

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


public class FileDemo6 {
    public static void main(String[] args) {
        File file=new File("F:\\media\\movie");
        File[] files=file.listFiles(new FileFilter() {
            
            public boolean accept(File pathname) {
                // TODO Auto-generated method stub
                return pathname.getName().endsWith(".mp4");
            }
        });
        for(File file1:files){
            System.out.println(file1.getName());
        }
    }
}

 

posted @ 2016-03-10 17:06  戎码之路  阅读(268)  评论(0编辑  收藏  举报