22-IO流-33-IO流(File对象-常见功能-创建和删除)

package demo;

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

public class FileMethodDemo2 {

	public static void main(String[] args) throws IOException {
		
		/*
		 * File对象的常见方法:
		 * 
		 * 2.创建与删除
		 * (1)创建
		 * ①操作文件
		 * boolean creatNewFile():当且仅当不存在指定名称的文件时,创建一个新的空文件。
		 * static file createTempFile(String prefix, String suffix):创建新文件,可以指定前缀和后缀。
		 * ②操作文件夹
		 * boolean mkdir():当且仅当不存在指定名称的文件夹时,创建一个新的空文件夹。(仅创建一个文件夹,且没有子文件夹)
		 * boolean mkdirs():创建多级目录,即文件夹内还有文件夹,可以有若干文件夹相互嵌套。
		 * 
		 * (2)删除
		 * boolean delete():删除文件或文件夹(注意文件和文件夹都可用delete删除)
		 * void deleteOnExit():在虚拟机终止时删除文件
		 * (如抛出异常后虚拟机终止,那么无法执行delete关闭,所以需要用deleteOnExit()方法,如下:
		 * ①创建文件→抛出异常→delete,这个抛异常会关闭JVM,那么delete也执行不到;
		 * ②创建文件→deleteOnExit→抛出异常,这样可以正常删除,因为会提前告诉JVM,一旦你停止就帮我删除文件,那么
		 * 抛异常后,JVM关闭,自动删除文件。
		 * )
		 */
//		creatAndDeleteDemo1();
		creatAndDeleteDemo2();

	}

	public static void creatAndDeleteDemo1() throws IOException {
		
		File file = new File("file.txt");
		
/*
 * 和IO流不一样,如果当前目录存在需要创建的文件(file.txt),那么createNewFile()方法不会创建文件,返回值(b)为false,
 * 如果当前目录不存在File.txt,那么新建一个,b值为真。(IO流管你存不存在,直接覆盖)。
 */
		//创建
		boolean b = file.createNewFile();//既然创建新文件,那么必须访问当前计算机的硬盘,所以需要抛出IO异常。
		System.out.println(b);
		
		//删除
		boolean b1 = file.delete();
		System.out.println(b1);
	}
	
	public static void creatAndDeleteDemo2() {
		
		File file = new File("abc");
		File dir = new File("aaa\\a\\b\\c");
		
		//创建文件夹
		boolean b = file.mkdir();//创建单个文件夹abc
		System.out.println(b);
		
		boolean b1 = dir.mkdirs();//创建多级目录,aaa中有a,a中有b,b中有c
		System.out.println(b1);
		
		//删除文件夹
		boolean b2 = file.delete();//删除单个文件夹abc
		System.out.println(b2);
		
		boolean b3 = dir.delete();//【注意】这里不是删除aaa\\a\\b\\c,而是删除c文件夹,因为aaa\\a\\b是c的父目录
		System.out.println(b3);
/**
 * 【特别注意】
 * (1)如果在abc文件夹内还有别的文件,那么调用delete方法不能删除abc文件夹,因为windows是从里往外删除,即如果内部有东西,
 * 那么里面的不删除,不会直接删除整个文件夹,这样做是为了防止数据丢失。
 * 
 * (2)在java中,delete方法慎用,因为是直接删除,不走回收站。
 */
	}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值