File类的使用总结

Java中把文件或者目录(文件夹)都封装成File对象,如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可,下面小编根据API帮助文档总结一些File类常用功能,分别有:创建、删除、判断、获取、修改以及其他功能…

package com.qx;
import java.io.File;
import java.io.IOException;
/*
 * 	创建功能
 * 		boolean createNewFile()  当指定文件不存在时创建文件并返回true,否则返回false
 * 		boolean mkdir()  当指定文件夹不存在时创建文件夹并返回true,否则返回false
 * 		boolean mkdirs()  创建指定文件夹,当文件夹所在的目录不存在,则顺道一块创建了
 * 
 * 	删除功能
 * 		boolean delete() 当指定的文件或文件夹存在时删除文件或者文件夹 并返回true,否则返回false
 * 
 * 	判断功能
 * 		boolean exists()  判断文件或者文件夹是否存在,如果存在则返回true,否则返回false
 * 		boolean isAbsolute()  判断File对象指向的路径是否是绝对路径,如果是绝对路径则返回true,否则返回false
 * 		boolean isDirectory() 判断File对象指向的路径是否是文件夹,如果是则返回true,否则返回false
 * 		boolean isFile() 判断File对象指向的路径是否是文件,如果是则返回true,否则返回false
 * 		boolean isHidden()	判断File对象指向的路径是否有隐藏属性,如果隐藏了则返回true,否则返回false
 * 
 *  获取功能
 *		File getAbsoluteFile()  获取文件的绝对路径,返回File对象
 * 		String getAbsolutePath() 获取文件的绝对路径,返回路径的字符串
 * 		String getParent()  获取当前路径的父级路径,以字符串形式返回该父级路径
 * 		File getParentFile() 获取当前路径的父级路径,以字File对象形式返回该父级路径
 * 		String getName() 获取文件或文件夹的名称
 * 		String getPath()  获取File对象中封装的路径
 * 	    long lastModified() 以毫秒值返回最后修改时间
 * 		long length() 返回文件的字节数
 * 
 * 	修改功能:
 *		boolean renameTo(File dest) 将当前File对象所指向的路径 修改为 指定File所指向的路径
 *
 *  其他功能:  
 *	    static File[] listRoots() 获取计算机中所有的盘符
 * 
 *  绝对路径:固定不可改变的路径,以盘符开头
 *  相对路径:相对某个参照物,不能以盘符开头(在eclipse中相对路径相对应当前项目的根目录)
 */
public class FileDemo {
	public static void main(String[] args) throws IOException {		
		//创建功能
		method1();//boolean createNewFile() 				
		method2(); // boolean mkdir() 
		method3(); //boolean mkdirs() 
		//删除功能
		method4();//boolean delete() 
		//判断功能
		method5(); //boolean exists() 
		method6(); //boolean isAbsolute() 
		method7(); //boolean isDirectory() ; boolean isFile()
		method8(); //boolean isHidden() 
		//获取功能
		method9(); //File getAbsoluteFile() ; String getAbsolutePath()  
		method10();//String getParent() ; File getParentFile()
		method11(); //String getName()  ; String getPath() ; long lastModified() ; long length()
		//修改功能
		method12(); //boolean renameTo(File dest)
		//其他功能				
		method13(); //static File[] listRoots()		
	}
	
	private static void method13() {
		//static File[] listRoots() : 返回的是所有盘符
		File[] files = File.listRoots();
		for (File file : files) {
			System.out.println(file);
		}
	}
	
	private static void method12() {
		File f = new File("d.txt");
		File f2 = new File("e.txt");
		//boolean renameTo(File dest) : 将当前File对象所指向的路径 修改为 指定File所指向的路径
		//注意:修改的文件路径不能存在,如果存在则修改失败
		System.out.println(f.renameTo(f2));
	}
	
	private static void method11() {
		File f = new File("a.txt");
		File f2 = new File("d:\\a\\b.txt");
		File f3 = new File("b");
		
		//String getName() : 获取文件和文件夹的名称
		//System.out.println(f.getName());
		//System.out.println(f2.getName());
		//System.out.println(f3.getName());
		
		//String getPath() : 返回创建File对象时给的路径
		//System.out.println(f.getPath());
		//System.out.println(f2.getPath());
		//System.out.println(f3.getPath());
		
		//long lastModified() : 以毫秒值的形式返回最后修改时间
		//System.out.println(f.lastModified());
		//2514023311294
		//Date d = new Date(2514023311294L);
		//System.out.println(d.toLocaleString());
		
		//long length() : 返回文件的字节数
		System.out.println(f.length());
		System.out.println(f3.length());
	}
	
	private static void method10() throws IOException {
		//File f = new File("a.txt");
		//File f2 = new File("b","c.txt");
		//System.out.println(f2.createNewFile());
		
		File parent = new File("b");
		File f3 = new File(parent,"c.txt");
		if(!parent.exists()) {
			parent.mkdirs();
		}
		System.out.println(f3.createNewFile());
		
		//String getParent() 
		System.out.println(f3.getParent());
		//File getParentFile() 
		System.out.println(f3.getParentFile());
	}
	
	private static void method9() {
		File f = new File("d:\\a\\b.txt");
		File f2 = new File("a.txt");		
		//File getAbsoluteFile()  :以File对象的形式返回当前File对象所有指向的绝对路径
		System.out.println(f2.getAbsoluteFile());		
		//String getAbsolutePath() : 返回File对象所指向的绝对路径
		System.out.println(f2.getAbsolutePath());
	}	
	
	private static void method8() {
		File f = new File("d:\\a\\b.txt");
		//boolean isHidden()判断File对象指向的路径是否有隐藏属性,如果隐藏了则返回true,否则返回false
		System.out.println(f.isHidden());
	}

	private static void method7() {
		File f = new File("a.txt");
		File f2 = new File("b");
		//boolean isDirectory()判断File对象指向的路径是否是文件夹,如果是则返回true,否则返回false
		//boolean isFile()判断File对象指向的路径是否是文件,如果是则返回true,否则返回false
		
		//System.out.println(f.isDirectory());
		//System.out.println(f2.isDirectory());
		
		System.out.println(f.isFile());
		System.out.println(f2.isFile());
	}

	private static void method6() {
		//File f = new File("a.txt");
		File f2 = new File("d:\\a\b.txt");
		//boolean isAbsolute()判断File对象指向的路径是否是绝对路径,如果是绝对路径则返回true,		否则返回false
		System.out.println(f2.isAbsolute());
	}
	
	private static void method5() {
		File f = new File("a.txt");
		//f.createNewFile();
		//boolean exists() 判断文件或者文件夹是否存在,如果存在则返回true,否则返回false
		System.out.println(f.exists());
	}

	private static void method4() {
		//boolean delete()当指定的文件或文件夹存在时删除文件或者文件夹 并返回true,否则返回false
		File f3 = new File("b");
		System.out.println(f3.mkdir());
		System.out.println(f3.delete());

		File f6 = new File("c");
		System.out.println(f6.delete());
	}

	private static void method3() {
		//boolean mkdirs() 创建指定文件夹,当文件夹所在的目录不存在,则顺道一块创建了
		File f4 = new File("c\\d\\e");
		System.out.println(f4.mkdir());
		System.out.println(f4.mkdirs());
		
		File f5 = new File("c.txt");
		System.out.println(f5.mkdir());
	}

	private static void method2() {
		//boolean mkdir() 当指定文件夹不存在时创建文件夹并返回true,否则返回false
		File f3 = new File("b");
		System.out.println(f3.mkdir());
	}

	private static void method1() throws IOException {
		//boolean createNewFile() 当指定文件不存在时创建文件并返回true,否则返回false
		File f1 =new File("d:\\a\\b.txt"); //绝对路径
		File f2 = new File("a.txt"); //相对路径		
		System.out.println(f1.createNewFile());
	}
	
}

输出结果截图(建议单个输出看到的效果更清晰)
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值