IO学习File类

File有三个构造方法(效果都一样)


public File(String pathname)        根据一个路径得到File对象

// File(String pathname):根据一个路径得到File对象
// 把e:\\demo\\a.txt封装成一个File对象
    File f = new File("e:\\demo\\a.txt");

public File(String parent,
            String child)                   根据一个目录和一个子文件/目录得到File对象

// File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
	File f2 = new File("e:\\demo","a.txt");

public File(File parent,
            String child)                 根据一个父File对象和一个子文件/目录得到File对象

// File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象
	File f3 = new File("e:\\demo");
	File f4 = new File(f3,"a.txt");

File类的创建功能:


public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了(文件不等于文件夹)

注意:要想在某个目录下创建内容(文件),该目录首先必须存在。否则会报异常:

Exception in thread "main" java.io.IOException: 系统找不到指定的路径。

//如果e:\demo不存在,则Exception in thread "main" java.io.IOException: 系统找不到指定的路径。
File file = new File("e:\\demo\\a.txt");
file.creatNewFile();

public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了

注意:要想在某个目录下创建文件夹,该目录首先必须存在。否则会创建失败,方法返回false:

// File file5 = new File("e:\\test");
File file6 = new File("e:\\test\\aaa");
// System.out.println("mkdir:" + file5.mkdir());
System.out.println("mkdir:" + file6.mkdir());//false

public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来

注意:无法创建文件,下列代码的结果只是创建了一个名为“a.txt"的文件夹

File file8 = new File("e:\\liuyi\\a.txt");
System.out.println("mkdirs:" + file8.mkdirs());

删除功能:public boolean delete()

注意:要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹


重命名功能:public boolean renameTo(File dest)

如果路径名相同,就是改名。

如果路径名不同,就是改名并剪切。如下:

"a.txt"剪切到"e:\\"下,并且重命名為"b.txt"

注意:前提是"e:\\"下不能已經存在"b.txt",否則返回false,重命名失敗

File file2 = new File("a.txt");
	if (!file2.exists()) {
	System.out.println(file2.createNewFile());
}

File newFile2 = new File("e:\\b.txt");
	if (!newFile2.exists()) {
	System.out.println("renameTo:" + file2.renameTo(newFile2));
}

完整代碼: 

public class FileDemo {
	public static void main(String[] args) throws IOException {
		// 创建一个文件对象
		File file2 = new File("a.txt");
		if (!file2.exists()) {
			System.out.println(file2.createNewFile());
		}
		
		// 需求:我要修改这个文件的名称为"b.txt"
		File newFile2 = new File("e:\\b.txt");
		if (!newFile2.exists()) {
			System.out.println("renameTo:" + file2.renameTo(newFile2));
		}else{
			//newFile2.delete();
			System.out.println("renameTo after delete:" + file2.renameTo(newFile2));
		}
	}
}

 


判断功能:
  public boolean isDirectory():判断是否是目录
  public boolean isFile():判断是否是文件
  public boolean exists():判断是否存在
  public boolean canRead():判断是否可读
  public boolean canWrite():判断是否可写
  public boolean isHidden():判断是否隐藏


获取功能:
  public String getAbsolutePath():获取绝对路径
  public String getPath():获取相对路径
  public String getName():获取名称
  public long length():获取长度。字节数
  public long lastModified():获取最后一次的修改时间,毫秒值


获取功能:
  public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
  public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值