Java基础 -> File类,方法和创建File

模块 java.base
软件包 java.io
Class File
java.lang.Object
java.io.File
实现的所有接口
Serializable , Comparable

public class File
extends Object
implements Serializable, Comparable
文件和目录路径名的抽象表示。
用户界面和操作系统使用依赖于系统的路径名字符串来命名文件和目录。 此类提供了一个抽象的,与系统无关的分层路径名视图。 抽象路径名有两个组成部分:

    /**
     * File类:方法测试
     */
    @Test
    public void test() throws IOExceptio{
        //File(File parent, String child)
        //从父抽象路径名和子路径名字符串创建新的 File实例。
        File file = new File("he.txt");
        //File(String parent, String child)
        //从父路径名字符串和子路径名字符串创建新的 File实例。
        File file1 = new File("D:\\qycache\\", "hcdn_cache");
        //File(File parent, String child)
        //从父抽象路径名和子路径名字符串创建新的 File实例。
        File file2 = new File("he.txt", "hcdn_cache");
        System.out.println(file + "\t" + file1 + "\t" + file2);//he.txt	D:\qycache\hcdn_cache	he.txt\hcdn_cache
        //boolean	canExecute()
        //测试应用程序是否可以执行此抽象路径名表示的文件。
        System.out.println( file.canExecute());//false
        //boolean	canRead()
        //测试应用程序是否可以读取此抽象路径名表示的文件。
        //boolean	canWrite()
        //测试应用程序是否可以修改此抽象路径名表示的文件。
        System.out.println(file.canRead() + "\t" + file.canWrite());//false	false
        //int	compareTo(File pathname)
        //按字典顺序比较两个抽象路径名。
        System.out.println(file.compareTo(file1));//4
        //boolean	createNewFile()
        //当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件。
        file.createNewFile();//需要抛异常
        //boolean	mkdir()
        //创建此抽象路径名指定的目录。
        //boolean	mkdirs()	
        //创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。
        file.mkdir();
        file.mkdirs();
        //boolean	delete()
        //删除此抽象路径名表示的文件或目录。
        file1.delete();
        System.out.println(file1);
        //boolean	exists()
        //测试此抽象路径名表示的文件或目录是否存在。
        System.out.println(file2.exists());//false
        //File	getAbsoluteFile()
        //返回此抽象路径名的绝对形式。
        System.out.println(file2.getAbsoluteFile());//E:\JAVA\ideatest\he.txt\hcdn_cache
        //String	getName()
        //返回此抽象路径名表示的文件或目录的名称。
        System.out.println(file2.getName());//hcdn_cache
        //String	getParent()
        //返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回 null 。
        System.out.println(file.getName());//he.txt
        System.out.println(file1.getParent());//D:\qycache
        //long	length()
        //返回此抽象路径名表示的文件的长度。
        System.out.println(file.length());//0
        //String[]	list()
        //返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录。
//        String[] strings = file2.list();
//        for (Object obj : strings){
//            System.out.print(obj + "\t");//java.lang.NullPointerException,空指针没有数据
//        }
        //String	toString()
        //返回此抽象路径名的路径名字符串。
        System.out.println(file2.toString());//he.txt\hcdn_cache
        //long	lastModified()
        //返回上次修改此抽象路径名表示的文件的时间。
        System.out.println(file.lastModified());//0
        System.out.println(new Date(file.lastModified()));//Thu Jan 01 08:00:00 CST 1970
        System.out.println(newSimpleDateFormat().format(newDate(file.lastModified())));
        //1970/1/1 上午8:00
}

内存中创建新的文件,文件夹:

/**
 *  创建file文件测试
 */
@Test
public void test1() throws IOException {
    //方式一:
    // static File	createTempFile(String prefix, String suffix)
    //在默认临时文件目录中创建一个空文件,使用给定的前缀和后缀生成其名称。
    //static File	createTempFile(String prefix, String suffix, File directory)
    //在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
    File file = File.createTempFile("haha", "xixi", new File("D:\\"));
    System.out.println(file);//D:\haha16991929895628673159xixi
    //String	getParent()
    //返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回 null 。
    File file4 = new File(file.getParent(), "hahah.txt");
    file4.createNewFile();
    System.out.println(file4);//D:\hahah.txt 存在文件
    file.delete();
    file4.delete();
    //方式二:
    //boolean	createNewFile()
    //当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件。
    File file1 = new File("D:\\","TEST");

    //创建文件夹,在这之前是没有新建目录的
    file1.mkdir();
    System.out.println(file1);//D:\TEST 此时已经有这个目录了
    File file2 = new File(file1, "haha");
    System.out.println(file2);//D:\TEST\haha    有目录,还没有haha这个文件
    file2.mkdir();
    System.out.println(file2);//D:\TEST\haha    有目录,有haha文件夹
    file2.createNewFile();
    System.out.println(file2);//D:\TEST\haha    与前面创建一样,没有任何变化

    File file3 = new File(file1, "haha.txt");
    file3.createNewFile();
    System.out.println(file3);//D:\TEST\haha.txt    创建了haha.txt的文件
    //删除要按顺序,保证文件夹里没有文件才可以删除,否则删除不了
    file2.delete();
    file3.delete();
    file1.delete();//删除1要放在最后面
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值