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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MrCharles

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值