您的位置:首页 > 其它

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

2015-08-11 16:08 357 查看
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方法慎用,因为是直接删除,不走回收站。
*/
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: