File类使用小结
一、构造函数
- File(String pathname):根据参数转换为抽象路径名创建File实例
- File(String parent,String filename):根据parent和filename创建File实例,若parent所指定的路径不存在,则会报IOException
- File(File parent,String filename):同上
- File(URI uri)
二、常用方法
- exists() 判断抽象路径名中的文件或文件夹是否存在
- list() 返回的是包含指定目录下的文件和文件夹名的String[]数组(不包含子目录中的文件和文件夹),若此抽象路径名不表示目录,则会返回null
- createNewFile() 若文件不存在则创建,在成功的情况下会返回true,若指定的文件已存在则返回false。
- listRoots() 返回磁盘目录数组File[]
- list(FilenameFilter filter) 返回的是包含指定目录下满足过滤器要求的文件和文件夹名的String[]数组(不包含子目录中的文件和文件夹),若此抽象路径名不表示目录,则会返回null
- isDirectory() 判断是否为文件夹
- isFile() 判断是否为文件
- 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()); } } }