File类的用法总结,及文件过滤器的介绍。
2012-12-14 22:53
375 查看
一、字段摘要:
static String separator //与系统有关的默认名称分隔符二、构造方法
File file = new File(String pathName);//参数可以传目录路径,或者文件路径[b](相对和绝对均可)。[/b]File file = new File(String parent,String child);//根据 parent 路径名字符串和 child 路径名字符串创建一个新
File实例。
File file = new File(File parent,String child);//据 parent 抽象路径名和 child 路径名字符串创建一个新
File实例。
package FileDemo; import java.io.File; public class FileDemo { public static void main(String[] args) { File f1 = new File("D:\\demo.txt"); File f2 = new File("D:\\","demo.txt"); File f = new File("D:\\"); File f3 = new File(f,"demo.txt"); File f4 = new File("D:"+File.separator+"abc"+File.separator+"a.txt"); } }
三、主要方法:
获取方法:获取文件名称 String getName();//返回文件名称获取文件路径 String getAbsolutePath();//返回文件绝对路径(带有盘符)
String getPath();//返回文件相对路径(相对该java工程文件夹的)
获取文件大小 long length();//翻译文件的大小。大为字节。如果对象为目录,返回值不确定。
获取修改时间 long lastModified();//返回文件的最后修改时间,毫秒单位。
public static void method() { File f = new File("D:\\aba\\demo.txt"); String name = f.getName(); String abspath = f.getAbsolutePath();//绝对路径 String path = f.getPath();//相对路径。 long len = f.length(); long time = f.lastModified(); Date date = new Date(time); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG); String str_time = dateFormat.format(date); System.out.println("name:"+name); System.out.println("abspath:"+abspath); System.out.println("path:"+path); System.out.println("len:"+len); System.out.println("Date:"+date); System.out.println("str_time:"+str_time); }
创建和删除:
创建
boolean createNewFile();//创建文件,当创建成功时返回true,否则false。当对象存在时,创建失败。
boolean mkdir();//创建单层目录。当该目录的父目录不存在时返回false。
boolean mldirs();//创建多层目录。包括不存在的父目录。
删除
boolean delete();//删除文件或者目录。当删除成功时返回true。当文件不存在时返回false。
//当删除目录时,成功返回true,否则返回false。在删除目录时,当在目录中为空时,才能将其删除。当该目录对象为多层时,删除的是最底层目录。
public static void createAndDelete() throws IOException { File dir = new File("abb"); File dir2 = new File("asdf\\dfgd\\dfgdf\\dfgdf\\d\\dfg"); dir2.mkdirs();//创建堆积目录。 dir2.delete();//删除最底层文件或者文件目录。此处如dfg boolean b =dir.mkdir(); System.out.println("b:"+b); boolean d = dir.delete(); System.out.println("d:"+d); boolean v = dir.delete(); System.out.println("d:"+v); /** * 对文件的操作 */ // File f = new File("D:\\aba\\demo.txt"); // boolean b = f.createNewFile(); // System.out.println("b= "+b); // boolean c = f.delete(); // System.out.println("c= "+c); }
is方法
boolean exists();//对象是否存在。
boolean isFile();//对象是否为文件
boolean isDirectory();//对象是否为目录。
当在判断是否文件 目录时,最好先判断是否存在。否则有可能出现都为false,因为可能对象不存在。
public static void isDemo() throws IOException { File f= new File("asdf"); boolean e = f.exists(); System.out.println("e:"+e);//是否存在 boolean isf = f.isFile(); boolean isd = f.isDirectory(); System.out.println("isf:"+isf+" isd:"+isd); }
list方法
static String[] listRoots();//列出可用的文件系统根。结果:C:\ D:\ E:\ F:\
public static void listRootDemo() { File []files = File.listRoots(); for(File file: files){ System.out.println(file); } }
String[] list();//当对象为目录时返回该目录下的所有文件名和目录名的字符串。当为文件时,返回null。即数组长度为0.
File file = new File("C:\\"); String []names = file.list(); for(String name:names){ System.out.println(name);
String[] list(FilenameFilter filter);//返回经过对象名称过滤后的对象名称数组。
一个根据后缀名过滤器的FilenameFilter实现类。该类实现了FilenameFilter接口
package FileDemo; import java.io.File; import java.io.FilenameFilter; /** * 通过文件后缀名过滤文件 * @author Administrator * */ public class FilterBysuffix implements FilenameFilter { public FilterBysuffix(String suffix) { super(); this.suffix = suffix; } private String suffix; public boolean accept(File file, String name) { return name.endsWith(suffix); } }
测试程序
public static void main(String[] args) { File file = new File("C:\\"); String []names = file.list(new FilterBysuffix("sys")); for(String name:names){ System.out.println(name); } }
File[] ListFiles(FileFilter filter);//返回通过对象过滤后的文件数组。
一个过滤隐藏的文件的FileFilter实现类。该类实现了FileFilter接口。
package FileDemo; import java.io.File; import java.io.FileFilter; /** * 过滤隐藏的文件。 * @author Administrator * */ public class FilterByHedden implements FileFilter { @Override public boolean accept(File pathname) { return !pathname.isHidden(); } }
测试代码:
public static void main(String[] args) { File file = new File("C:\\"); File[]names = file.listFiles(new FilterByHedden()); for(File name:names){ System.out.println(name); } }
查看目录空间的方法:该程序中返回的是D盘的信息。
public static void listRootDemo() { File file =new File("D:\\软件库\\驱动"); //返回此抽象路径名指定的分区大小。盘分区大小。 System.out.println("getTotalSpace: "+file.getTotalSpace()); // 返回此抽象路径名指定的分区上可用于此虚拟机的字节数。可用大小 System.out.println("getUsableSpace: "+file.getUsableSpace()); //返回此抽象路径名指定的分区中未分配的字节数。可用大小 System.out.println("getFreeSpace: "+file.getFreeSpace()); }
相关文章推荐
- File类的用法总结,及文件过滤器的介绍。
- File的用法二:文件过滤器之FileNameFilter的用法
- 批量改名及FilenameFilter文件过滤器基本用法
- FilenameFilter 文件过滤器的用法
- JAVA基础再回首(二十二)——转换流概述及用法、简化写法FileWriter和 FileReader、字符缓冲流及特殊用法、字节流字符流复制文件方法总结
- 实例讲解ThinkPHP的UploadFile文件上传类的详细用法
- c 文件操作函数介绍(终于找到比较好的总结了)
- php中的session 文件上传 File 以及services的用法?
- 关于“.aspx调用CodeFile(.cs文件)中变量 ”总结
- android中Intent的介绍和常见用法总结
- java 文件的输入和输出 Scanner()与PrintWriter的用法,以及 java.io.file.paths
- Java 复制大文件方式FileChannel 用法
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
- PHP读取文件函数fread,fgets,fgetc,file_get_contents和file函数的使用总结
- javaIO流、File文件知识总结
- 大文件之Java RandomAccessFile用法
- java配置文件.properties 文件用法介绍
- 黑马程序员——Foundation框架NSFileManager介绍和用法
- java集合性能介绍以及用法总结
- Oracle bigfile大文件表空间介绍,Oracle bigfile大文件表空间优势和劣势分析