File 类 操作实例

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( )方法也被支持。

你可能感兴趣的:(File 类 操作实例)