Java基础IO类之File类

Posted Mr.落魄书生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础IO类之File类相关的知识,希望对你有一定的参考价值。

大三了,目前基础太差了,重新学习过!代码如下,里面都有详细的解释每一行代码代表的意思~

 

package IODemo;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

public class FileDemo {
    public static void main(String[] args) {

        // File表示一个文件或者目录
        //  "d:\test\test.txt" 或者 "d:/test/test.txt")

        File f1 = new File("d:\test\test.txt");
        if(!f1.exists()){  //判断该文件是否存在,如果不存在就创建
            try {
                f1.createNewFile(); // 创建该文件
                System.out.println("文件创建成功!");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        // f1.isDirectory()  如果是文件夹就返回 true 不是就返回false
        System.out.println("f1是否是文件:"+f1.isFile());

        File f2 = new File("d:\test\my"); // 这个路径中my文件夹 这个文件夹之中有文件
         boolean b =  f2.delete(); // 用变量b接受 看 删除的结果
        System.out.println("删除的结果是:"+b);   // 返回的是 false 没有删除这个文件夹,必须要删除这个文件夹里面的文件才可以删除这个文件夹

        String[] names = f2.list();//列出该目录下的所有文件名
        System.out.println( Arrays.toString(names));  //打印出String数组里面的东西

        File[] fs = f2.listFiles(); //列出当前目录下的所有文件,并且以file 对象返回
        for (File f :
                fs) {    // for循环的增强 就是说遍历File集合中的每一个File对象f
            System.out.println("lenght="+f.length());
            System.out.println("name="+f.getName());
            System.out.println("相对路径="+f.getPath());
            System.out.println("绝对路径="+f.getAbsolutePath());
            System.out.println("是否为隐藏文件="+f.isHidden());
            Date date = new Date(f.lastModified());// 获取文件的最后修改的日期  需要用日期类进行格式化
            DateFormat df = new SimpleDateFormat("HH:MM:SS");  // 格式化
            System.out.println("日期:"+df.format(date));
        }

        //文件夹的操作
        File f3 = new File("d:\test\wang");
        f3.mkdirs();  // mkdirs()是创建文件夹中的文件夹 都没有的情况下用     和mkdir()只创建一个没有的文件夹
        System.out.println("文件夹创建成功");

        //重命名 与移动 文件夹
      //  f3.renameTo(new File("d:\test\wang1"));
        //如果放到其他的地方的话就是 移动这个文件夹
        f3.renameTo(new File("d:\wang"));


        
        // 补充f2 中的打印文件名 过滤器
        File f4 = new File("d:\test\my");
        File[] files = f4.listFiles(new FileFilter() { // new一个接口出来过滤
            @Override
            public boolean accept(File pathname) {
             return    pathname.getName().endsWith(".txt");  //过滤结尾为 txt的文件
            }
        });
        for (File f :
                files) {
            System.out.println(f.getName());
        }



    }
}

 

以上是关于Java基础IO类之File类的主要内容,如果未能解决你的问题,请参考以下文章

Java基础IO类之对象流与序列化

Java基础IO类之字符串流(查字符串中的单词数量)与管道流

JAVA Web项目中常用工具类之 IoUtil

JAVA Web项目中常用工具类之 IoUtil

Java类之File记录

File类之在指定目录中查找文件