java对文件系统的操作

1.File类

表示目录和文件

具体代码

package java;

import java.io.File;

import org.junit.Test;

/**
	File类:
	
	说明:
		1.File可以用来表示一个文件(.txt .mp3 .avi )或者目录
		2.File可以创建(删除,修改等操作)对象、目录。还可以获取对象、目录的信息。
				注意 : 不能向文件中写内容或者读取内容(读写内容需要IO流)
		
*/
public class FileTest {
	
	/**
	 * 绝对路径:包含盘符在内的完整路径
	 * 相对路径:相对于当前工程下
	 */
	@Test
	public void test2(){
		new File("user.txt"); //相对路径 - 一般都使用相对路径
		
		new File("E:\\0830\\code\\day21\\user.txt"); //绝对路径
	}

	/**
	 * File表示一个文件或目录
	 */
	@Test
	public void test(){
		//表示一个文件
		File file = new File("D:\\io/1.txt");
		//表示一个目录
		File file2 = new File("D:\\io\\ccc");
		
		new File("D:\\io","1.txt"); //"D:/io/1.txt"
	}
}

2.常用API

1.判断

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

2.增

public boolean createNewFile() :创建文件。若文件存在,则不创建,返回false
public boolean mkdir() :创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。
public boolean mkdirs() :创建文件目录。如果上层文件目录不存在,一并创建

3.删

public boolean delete():删除文件或者文件夹

4.改

public boolean renameTo(File dest):把文件重命名为指定的文件路径,相当于移动

4.查

public String getAbsolutePath():获取绝对路径
public File getAbsoluteFile():获取绝对路径表示的文件
public String getPath() :获取路径
public String getName() :获取名称
public String getParent():获取上层文件目录路径。若无,返回null
public String[] list() :获取指定目录下的所有文件或者文件目录的名称数组
public File[] listFiles() :获取指定目录下的所有文件或者文件目录的File数组
public long length() :获取文件长度(即:字节数)。不能获取目录的长度。
public long lastModified() :获取最后一次的修改时间,毫秒值

具体代码

package java;

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

import org.junit.Test;

public class FileAPI {
	
	/* public boolean renameTo(File dest):把文件重命名为指定的文件路径
	 * public long length() :获取文件长度(即:字节数)。不能获取目录的长度。
	   public long lastModified() :获取最后一次的修改时间,毫秒值
	 */
	@Test
	public void test6(){
		//1.修改名字
		/*
		File file = new File("aaa.txt");
		boolean renameTo = file.renameTo(new File("bbb.txt"));
		System.out.println(renameTo);
		*/
		/*
		//2.移动文件
		File file = new File("bbb.txt");
		boolean renameTo = file.renameTo(new File("D:\\io\\fff\\bbb.txt"));
		System.out.println(renameTo);
		*/
		
		File file = new File("D:\\io\\fff\\bbb.txt");
		System.out.println(file.length());
		
		long time = file.lastModified();
		System.out.println(time);
		System.out.println(new Date(time));
	}
	
	/*
	 *  public boolean mkdir() :创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。
		public boolean mkdirs() :创建文件目录。如果上层文件目录不存在,一并创建
		public boolean delete():删除文件或者文件夹

	 */
	@Test
	public void test5() throws IOException{
		/*
		File file = new File("D:\\io\\ddd\\aaa.txt");
		//创建目录
		String parent = file.getParent(); //获取父目录的路径
		
		File parentFile = new File(parent);
		
		if(!parentFile.exists()){
			parentFile.mkdir();//创建目录
			file.createNewFile();//创建文件
		}
		*/
		System.out.println("-----------------------------------------");
		
		File file = new File("D:\\io\\fff\\ccc");
//		file.mkdir();//创建的目录的父目录不存在,则创建失败
//		file.mkdirs(); //创建的目录的父目录不存在则连父目录一起创建。
		
		file.delete();
	}
	/*
	 *
	 *  public boolean createNewFile() :创建文件。若文件存在,则不创建,返回false
		
	 */
	@Test
	public void test4() throws Exception{
		File file = new File("D:\\io\\ddd\\aaa.txt");
		if(!file.exists()){
			//注意 :如果文件的父目录不存在则抛异常
			boolean createNewFile = file.createNewFile();
			System.out.println(createNewFile);
		}else{
			file.delete(); //删除文件
			System.out.println("----删除文件---");
		}
		
	}
	
	/*
	 *  public boolean isDirectory():判断是否是文件目录
		public boolean isFile() :判断是否是文件
		public boolean exists() :判断是否存在
		public boolean canRead() :判断是否可读
		public boolean canWrite() :判断是否可写
		public boolean isHidden() :判断是否隐藏

	 */
	@Test
	public void test3(){
		File file = new File("D:\\io");
		File file2 = new File("user.txt");
		
		System.out.println(file.isDirectory());
		System.out.println(file.isFile());
		System.out.println(file.exists());
		System.out.println(file.canRead());
		System.out.println(file.canWrite());
		System.out.println(file.isHidden());
		
		System.out.println("-----------------------------------------");
		
		System.out.println(file2.isDirectory());
		System.out.println(file2.isFile());
		System.out.println(file2.exists());
		System.out.println(file2.canRead());
		System.out.println(file2.canWrite());
		System.out.println(file2.isHidden());
	}
	
	/*
	 * 
		public String[] list() :获取指定目录下的所有文件或者文件目录的名称数组
		public File[] listFiles() :获取指定目录下的所有文件或者文件目录的File数组 

	 */
	@Test
	public void test2(){
		File file = new File("D:\\io");
		/*
		String[] names = file.list();
		for (String name : names) {
			System.out.println(name);
		}
		*/
		
		File[] listFiles = file.listFiles();
		for (File file2 : listFiles) {
			System.out.println(file2);
		}
	}

	/*
	 * public String getAbsolutePath():获取绝对路径
	public File getAbsoluteFile():获取绝对路径表示的文件
	public String getPath() :获取路径
	public String getName() :获取名称
	public String getParent():获取上层文件目录路径。若无,返回null

	 */
	@Test
	public void test(){
		
		File file = new File("user.txt");
		File file2 = new File("D:\\io\\abc.txt");
		
		System.out.println(file.getAbsolutePath());
		System.out.println(file.getAbsoluteFile());
		System.out.println(file.getPath());
		System.out.println(file.getName());
		System.out.println(file.getParent());

		System.out.println("---------------------------------");
		
		System.out.println(file2.getAbsolutePath());
		System.out.println(file2.getAbsoluteFile());
		System.out.println(file2.getPath());
		System.out.println(file2.getName());
		System.out.println(file2.getParent());
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值