Java File类

示例代码:

import java.io.File;
import java.io.IOException;
import java.util.Date;

import org.junit.Test;

/**
 * java.io.File类
 * 1.凡是与输入、输出相关的类、接口等,都定义在java.io包下
 * 2.File是一个类,可以有构造器创建其对象。此对象对应这一个文件(.txt .avi .doc .ppt .mp3 .jpg)或目录。
 * 3.File类对象是与平台无关的。
 * 4.File中方法,仅涉及到如何创建、删除、重命名等等。只要设计到文件内容的,File是无能为力的,必须由io流来完成。
 * 5.File类的对象常作为io流的具体类的构造器的形参。
 */
public class TestFile {
	/**
	 * 路径:
	 * 绝对路径:包括盘符在内的完整的文件路径
	 * 相对路径:在当前文件目录下的文件的路径
	 */
	@Test
	public void test1() {
		File file1 = new File("F:\\code.txt");
		File file2 = new File("F:/code.txt");
		
		File file3 = new File("hello.txt");
		
		/**
		 * 访问文件名:
		 * getName()
		 * getPath()
		 * getAbsoluteFile()
		 * getAbsolutePath()
		 * getParent()
		 * renameTo(File newName):将此文件重命名为newName,要求此文件一定存在,newName文件一定不存在。
		 */
		System.out.println(file1.getName());
		System.out.println(file1.getPath());
		System.out.println(file1.getAbsoluteFile());
		System.out.println(file1.getAbsolutePath());
		System.out.println(file1.getParent());
		
		System.out.println();
		
		System.out.println(file2.getName());//结果与file1的完全一致
		System.out.println(file2.getPath());
		System.out.println(file2.getAbsoluteFile());
		System.out.println(file2.getAbsolutePath());
		System.out.println(file2.getParent());
		
		boolean f = file1.renameTo(new File("file.txt"));
		System.out.println(f);
	}
	
	/**
	 * 文件检测
	 * exists():是否存在
	 * canWrite():是否可写
	 * canRead():是否可读
	 * isFile():是否是文件
	 * isDirectory():是否是目录
	 */
	@Test
	public void test2() {
		File file = new File("file.txt");
		
		System.out.println(file.exists());
		System.out.println(file.canWrite());
		System.out.println(file.canRead());
		System.out.println(file.isFile());
		System.out.println(file.isDirectory());
	}
	
	/**
	 * 获取常规文件信息
	 * lastModified():上次修改的时间,返回long
	 * length():文件的长度
	 */
	@Test
	public void test3() {
		File file = new File("file.txt");
		
		System.out.println(new Date(file.lastModified()));
		System.out.println(file.length());
	}
	
	/**
	 * 文件操作相关
	 * createNewFile()
	 * delete()
	 */
	@Test
	public void test4() throws IOException {
		File file = new File("newfile.txt");//现在这个相对路径不存在此文件
		if(!file.exists()) {
			boolean nf = file.createNewFile();//在上面的那个路径上创建文件
			System.out.println("file:"+nf);
		}
		
		if(file.exists()) {
			boolean nf = file.delete();
			System.out.println("delete file:" + nf);
		}
	}
	
	/**
	 * 目录操作相关
	 * mkDir():有父目录才能创建目录
	 * mkDirs():可以把没有的父目录一并创建出来
	 * list():以String[]类型返回目录下的所有文件
	 * listFiles():以File[]类型返回目录下的所有文件
	 */
	@Test
	public void test5() {
		File file1 = new File("D:/goodnight");
		if(!file1.exists()) {
			boolean md = file1.mkdir();
			System.out.println("mkdir:"+md);
		}
		if(file1.exists()) {
			System.out.println("file1 delete:" + file1.delete());
		}
		
		File file2 = new File("D:/hello/world/heheda");
		if(!file1.exists()) {
			boolean md = file2.mkdirs();
			System.out.println("mkdirs:" + md);
		}
		if(file2.exists()) {
			System.out.println("file2 delete:" + file2.delete());
		}
		
		File file3 = new File("D:/");
		String[] ls = file3.list();
		for (String string : ls) {
			System.out.println(string);
		}
		
		File[] files = file3.listFiles();
		for (File file : files) {
			System.out.println(file.getName());
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值