java高级File类操作

**题记
近期新学习了java中IO知识,实现了对文件的操作,本次通过几个demo复习和巩固下相关知识点,涉及到file类**

1.File类
File类构造方法:
File(File parent,String child)
File(String pathname)
File(String parent,String child)
File(URL url)

代码`package com.blog.file;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;

public class FileDemo {

public static void main(String[] args) {

    FileDemo fd = new FileDemo();
    fd.showFile();
    fd.getFileAndDircetory();
}

// 基本方法
public void showFile() {
    File f = new File("D:\\work\\test\\file");
    // 当文件不存在时,创建新的文件
    try {
        f.createNewFile();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println("输出字符串:" + f);
    System.out.println("判断File类是否存在:" + f.exists());
    System.out.println("获取File类对象最后修改的时间:" + f.lastModified());
    System.out.println("判断File类是否是文件:" + f.isFile());
    System.out.println("判断File类是否是目录:" + f.isDirectory());
    System.out.println("判断File类是否有隐藏属性:" + f.isHidden());
    System.out.println("判断File类是否可写:" + f.canWrite());
    System.out.println("判断文件是否可读:" + f.canRead());
    System.out.println("判断文件是否可执行:" + f.canExecute());
    System.out.println("判断文件是否是绝对路劲:" + f.isAbsolute());
    System.out.println("获取文件的长度:" + f.length());
    System.out.println("获取文件对象的名称:" + f.getName());
    System.out.println("获取文件对象的路径:" + f.getPath());
    System.out.println("获取文件的绝对路径:" + f.getAbsolutePath());
    System.out.println("获取文件对象的父目录的路径:" + f.getParent());
    System.out.println("=============================");

}

// 获取文件和目录

public void getFileAndDircetory() {

    File f = new File("D:\\work\\test");
    System.out.println("使用list()获取String数组====");
    String[] flist = f.list();
    for (String fq : flist) {
        System.out.println(fq);
    }
    System.out.println("使用listFiles()获取File数组====");
    File[] flist1 = f.listFiles();
    for (File file : flist1) {
        System.out.println(f);
    }
    // 使用匿名内部类创建过滤器,过滤对应格式的文件
    System.out.println("使用listFiles()过滤.txt文件====");

    File[] filelist = f.listFiles(new FileFilter() {
        public boolean accept(File pathname) {
            if (pathname.getName().endsWith(".txt"))
                return true;
            return false;
        }
    });
    for (File f1 : filelist) {
        System.out.println(f1.getName());
    }
}

}
`这里写图片描述

遇到问题:
在使用相对路径打开文件和用绝对路径用记事本打开文件会出现以下问题,绝对路径比相对路径内容空出一行,但在记事本没有显示出来,猜想是记事本问题,换个文本编辑器查看,果然是记事本问题!
这里写图片描述
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值