java高级File类操作

来源:互联网 发布:算法图解 pdf百度网盘 编辑:程序博客网 时间:2024/06/01 09:20

**题记
近期新学习了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());    }}

}
`这里写图片描述

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

0 0