File 操作
<介绍> 尽管java.io定义的大多数类是实行流式操作的,File类不是。它直接处理文件和文件系统。也就是说,File类没有指定信息怎样从文件读取或向文件存储;它描述了文件本身的属性。File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径。此外,File还浏览子目录层次结构。很多程序中文件是数据的根源和目标。尽管它们在小应用程序中因为安全原因而受到严格限制,文件仍是存储固定和共享信息的主要资源。Java中的目录当成File 对待,它具有附加的属性——一个可以被 list( )方法检测的文件名列表。package com.io;import java.io.File;import java.io.IOException;public class Que1 { /* * requirement: File * File 类的实例是不可变的; * 也就是说,一旦创建,File 对象表示的抽象路径名将永不改变。 *构造方法:File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 */// 创建方法// 1.boolean createNewFile() 不存在返回true 存在返回false// 2.boolean mkdir() 创建目录// 3.boolean mkdirs() 创建多级目录//// 删除方法// 1.boolean delete()// 2.boolean deleteOnExit() 文件使用完成后删除 public static void main(String[] args) { File myfile = new File("D:\\test/myword.txt");//创建实例 //多大: System.out.println(myfile.length()); File myfile2 = new File("D:\\Program Files"); File files[] = myfile2.listFiles(new MyfileNameFiler(".txt"));//过滤器 //获取该目录文件 for (File f:files){ System.out.println(f.getAbsolutePath()+"文件名:"+f.getName()); } //判断这个file究竟存不存在?? System.out.println(myfile.exists());//返回boolean //他是文件还是文件夹呢?? System.out.println(myfile.isFile());//是file System.out.println(myfile.isDirectory());//false System.out.println(myfile2.isDirectory()); //绝对路径? System.out.println(myfile.getAbsolutePath()); System.out.println(myfile.getName()); //删除成功就是true System.out.println(myfile.delete()); System.out.println("创建文件"); try { System.out.println(myfile.createNewFile()); //当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。 //检查文件是否存在,若不存在则创建该文件, //这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是不可分的。 } catch (IOException e) { e.printStackTrace(); } }}
这个是FilenameFilter筛选对应的文件格式
package com.io;import java.io.File;import java.io.FilenameFilter;public class MyfileNameFiler implements FilenameFilter { String endsWith; public MyfileNameFiler(String endsWith) { this.endsWith = endsWith; } @Override public boolean accept(File dir, String name) { return name.endsWith(endsWith);//取非的时候,不是以这个结尾的将会选择出来 }}
重点内容
File 还包括两个有用的实用工具方法。第一个是renameTo( ),显示如下:
(1)boolean renameTo(File newName) 这里,由newName指定的文件名变成了所调用的File 对象的新的名称。如果更名成功则返回ture,文件不能被重命名(例如,你试图重命名文件以使它从一个目录转到另一个目录,或者你使用了一个已经存在的文件名),则返回false。 (2)第二个实用工具方法是delete( ) 该方法删除由被调用的File对象的路径指定的磁盘文件。它的形式如下: boolean delete( ) 同样可以在目录为空时用delete( )删除目录。如果删除了文件,delete( )返回true,如果文件不能被删除则返回false。Java 2 为File 类增添了一些新的方法,你会发现在某些场合这些新增方法很有用。 一些最有趣的方法显示如下: 方法 描述 void deleteOnExit( ) 在java虚拟机终止时删除与调用对象相关的文件 boolean isHidden( ) 如果调用的文件是隐藏的,返回true;否则返回 false。 boolean setLastModified(long millisec) 设置由millisec指定的调用文件的时间标志,Millisec是从1970年1月1号开始的标准时间(UTC)的毫秒数 boolean setReadOnly( ) 设置调用文件为只读 并且,因为File 类现在支持Comparable 接口,compareTo( )方法也被支持。版权声明:本文为博主原创文章,未经博主允许不得转载。